以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 字符类表格如何转置? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189735) |
||||
-- 作者:lur320 -- 发布时间:2023/12/22 8:49:00 -- 字符类表格如何转置? 如图,纵向的字符类表格如何用sql命令横向展开? 我使用了下面的sql 命令,展开后有很多空格,什么是准确的命令? ---------------------------
Selct 检验单号,Case When 测试项 = \'报告日期\' Then 结论 Else null End, Case When 测试项 = \'大肠埃希菌\' Then 结论 Else null End,xxxxxxxxxxxxx From {QC数据} where 批号 in (\'231111001\',\'231111002\') group by 检验单号 --------------------------- |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/22 8:54:00 -- 正确的结果应该是怎么样的?手工填写一份对比一下看看 |
||||
-- 作者:lur320 -- 发布时间:2023/12/22 8:58:00 -- 正确的应该是这样:相当于去掉了所有的空格。
|
||||
-- 作者:有点蓝 -- 发布时间:2023/12/22 9:15:00 -- 就以3楼图片的10个检验单号为例,导出这10个单的原始数据发过来测试一下。同时把3楼的表格也发上来 [此贴子已经被作者于2023/12/22 9:16:42编辑过]
|
||||
-- 作者:lur320 -- 发布时间:2023/12/22 10:15:00 --
有两页excel,第一页是源数据,第二页是想要展现的报告。
|
||||
-- 作者:lur320 -- 发布时间:2023/12/22 10:40:00 -- 我在网上找个这个方法,但是foxtable报错: Slect group_concat(distinct concat(\'max(if(测试项="\',测试项,\'",结论,null)) as "\',测试项,\'"\')) from {QC数据} where 批号 in (\'231115301\',\'231115302\',\'231115303\') 不存在group_concat 聚合函数。
|
||||
-- 作者:有点蓝 -- 发布时间:2023/12/22 11:16:00 -- access Select 检验单号,批号,max(iif(测试项 = \'大肠埃希菌\',结论,NULL)) As 大肠埃希菌,max(iif(测试项 = \'霉菌酵母菌\',结论,NULL)) As 霉菌酵母菌,max(iif(测试项 = \'需氧菌\',结论,NULL)) As 需氧菌,max(iif(测试项 = \'含量\',结论,NULL)) As 含量 From {原数据} Group by 检验单号,批号 SqlServer Select 检验单号,批号,max(Case When 测试项 = \'大肠埃希菌\' Then 结论 Else NULL End) As 大肠埃希菌,max(Case When 测试项 = \'霉菌酵母菌\' Then 结论 Else NULL End) As 霉菌酵母菌,max(Case When 测试项 = \'需氧菌\' Then 结论 Else NULL End) As 需氧菌,max(Case When 测试项 = \'含量\' Then 结论 Else NULL End) As 含量 From {学生成绩} Group by 检验单号,批号 |
||||
-- 作者:lur320 -- 发布时间:2023/12/22 13:23:00 -- 还有一个问题,转移字符不起作用,因为有些列带符号,怎么解决? Slect 检验单号,max(Case When 测试项 = \'报告日期\' Then 结论 Else null End) as \\" 报告日期 \\", max(Case When 测试项 = \'大肠埃希菌\' Then 结论 Else null End) as \\" 大肠埃希菌 \\", max(Case When 测试项 = \'含量\' Then 结论 Else null End) as \\" 含量 \\", max(Case When 测试项 = \'总杂(除杂质B外)≤2.0%\' Then 结论 Else null End) as \\" 总杂(除杂质B外)≤2.0% \\" From {QC数据} where 批号 in (\'221114403\') group by 检验单号
|
||||
-- 作者:lur320 -- 发布时间:2023/12/22 13:32:00 -- OK了,只要加单引号就可以了 as \\" 总杂(除杂质B外)≤2.0% \\" 改为 as ‘总杂(除杂质B外)≤2.0%‘
|