SQL 求助, sql server 纵表转横表,结果为什么有空的,而不是合并在一行

2019-11-01 10:32:00 +08:00
 amitian

SET @sql='select DISTINCT Convert(Varchar(20),ExecTime,120) as 执行时间, Convert(VarChar,Techno) as 检验样本号, PatName as 姓名, HospNo as 门诊住院号,TJ_Item as 检验项目合集,(select Inst_Name from Lis_Instrument where InstID=#TG.InstID) as 仪器, sexname as 性别,WardOrRegName as 病人类型,(convert(char(3),Age)+AgeUnit) as 年龄' select @sql = @sql + ',Max(case ItemName when '''+ItemName+''' then printresult end) ['+ItemName+']' from (select distinct ItemName from #resultTemp where ItemName !='') as a select @sql = @sql+' from #resultTemp where PatName !='''' and hospno !='''' group by ExecTime,instid,PatName,SexName,TechNo,ClinicDescName,Age,AgeUnit,WardOrRegName,ApplyDeptName,WardName,BedNo,ItemName,HospNo,TJ_Item' Exec(@sql)

原始表:

张三 2019000791 RBC,wbc ◆白细胞计数 8.25

张三 2019000791 RBC,wbc ◆红细胞 4.5

结果:

姓名 门诊住院号 仪器 ◆红细胞 ◆白细胞计数

张三 2019000791 RBC,wbc NULL 8.25

张三 2019000791 RBC,wbc 4.5 NULL

3764 次点击
所在节点    MySQL
1 条回复
a87965028
2019-11-01 10:58:33 +08:00
我的龟龟,这一大坨。。
建议去查一下 pivot 的用法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/615137

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX