怎么把这个查询结果:
SELECT 'A1' as UID ,'2' AS UWGT , 'X1' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'A1' as UID ,'3' AS UWGT , 'X2' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'B1' as UID ,'2' AS UWGT , '10' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'C1' as UID ,'4' AS UWGT , 'X3' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'C1' as UID ,'3' AS UWGT , 'X4' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'F1' as UID ,'3' AS UWGT , '20' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'D1' as UID ,'1' AS UWGT , 'X5' AS UNO from SYSIBM.DUAL
UNION ALL
SELECT 'D1' as UID ,'2' AS UWGT , 'X6' AS UNO from SYSIBM.DUAL
查询成如图的结果
SELECT t1.UID, UWGT, UNO1, UNO2 FROM ( select UID, sum(UWGT) as UWGT from aa group by UID) as t1, (SELECT UID, max(case UID when 'A1' then UNO else null end) as UNO1, if(max(case UID when 'A1' then UNO else null end) = min(case UID when 'A1' then UNO else null end) , '', min(case UID when 'A1' then UNO else null end)) as UNO2 from aa where UID = 'A1' UNION SELECT UID, max(case UID when 'B1' then UNO else null end) as UNO1, if(max(case UID when 'B1' then UNO else null end) = min(case UID when 'B1' then UNO else null end) , '', min(case UID when 'B1' then UNO else null end)) as UNO2 from aa where UID = 'B1' UNION SELECT UID, max(case UID when 'C1' then UNO else null end) as UNO1, if(max(case UID when 'C1' then UNO else null end) = min(case UID when 'C1' then UNO else null end) , '', min(case UID when 'C1' then UNO else null end)) as UNO2 from aa where UID = 'C1' UNION SELECT UID, max(case UID when 'F1' then UNO else null end) as UNO1, if(max(case UID when 'F1' then UNO else null end) = min(case UID when 'F1' then UNO else null end) , '', min(case UID when 'F1' then UNO else null end)) as UNO2 from aa where UID = 'F1' UNION SELECT UID, max(case UID when 'D1' then UNO else null end) as UNO1, if(max(case UID when 'D1' then UNO else null end) = min(case UID when 'D1' then UNO else null end) , '', min(case UID when 'D1' then UNO else null end)) as UNO2 from aa where UID = 'D1') as t2 where t1.UID = t2.UID
把“aa”换成你的表就行了
只有3个字段,怎么能显示成4列呢?
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632