永发信息网

mysql 一个字段多条记录整合成一条记录多个字段(新字段)

答案:2  悬赏:60  手机版
解决时间 2021-03-21 15:17
  • 提问者网友:练爱
  • 2021-03-21 00:09
如:我执行:SELECt t.ASSIGNEE_,t.END_TIME_ FROM act_hi_taskinst t WHERe t.PROC_INST_ID_ = 10621,结果是:
ASSIGNEE_ END_TIME_ FROM
387 2013/8/13 16:21
388 2013/8/13 16:22
389 null

我想达到的效果是:
ASSIGNEE_1 END_TIME_ FROM1 ASSIGNEE_2 END_TIME_ FROM2 ASSIGNEE_3 END_TIME_ FROM3
387 2013/8/13 16:21 388 2013/8/13 16:22 389 null

求大牛解答!!在线等!
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-03-21 01:26
如果选出记录个数不固定,那就得动态拼出sql再执行,如果是固定返回3个,可以
with t as (SELECt t.ASSIGNEE_,t.END_TIME_, row_number() over(order by t.ASSIGNEE_) r
FROM act_hi_taskinst t WHERe t.PROC_INST_ID_ = 10621)
select t1.ASSIGNEE_ ASSIGNEE_1,t1.END_TIME_ END_TIME_1,
t2.ASSIGNEE_ ASSIGNEE_2,t2.END_TIME_ END_TIME_2,
t3.ASSIGNEE_ ASSIGNEE_3,t3.END_TIME_ END_TIME_3
from (select * from t where r=1) t1
cross join (select * from t where r=2) t2
cross join (select * from t where r=3) t3
全部回答
  • 1楼网友:话散在刀尖上
  • 2021-03-21 01:52
请问,你要插入的id是自增长的吧?意思插入之前还没有生成这个id?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯