在SQL Server中加入CSV列

前端之家收集整理的这篇文章主要介绍了在SQL Server中加入CSV列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,我正在做一些针对传统数据库的报告,我有一点脑屁…

基本上有50个自定义标准作为一个对应于一个表的CSV列.

所以说列CC5值为’2,6,7,12,8,3,13,1,5,11′

反对表dbo.tbl_custom_code_5

与值

code   desc
 1     Wine
10     Diet Pepsi
11     Other Soft Drink
12     Coffee
13     Tea ....

所以我去做…所以我需要做一个组/计数的东西沿着…

Select [desc],COUNT(b.CC6)
 from dbo.tbl_custom_code_6 a
 INNER JOIN dbo.Respondent b ON a.code = b.CC6
 group by [desc]

这显然不会因为csv而工作,所以我尝试了第一个愚蠢的事情.

Select [desc],COUNT(b.CC6)
 from dbo.tbl_custom_code_6 a
 INNER JOIN dbo.Respondent b ON a.code like '%' + b.CC6 + ',%'
 group by [desc]

这不行,不行,即使是因为6将出来16等…

我知道必须有一个更好的方法来做到这一点.有什么想法吗 ?

解决方法

尝试这个(我认为在csv数据之间和数字之间不会有任何空格等):
SELECT [DESC],COUNT(b.CC6)
FROM dbo.tbl_custom_code_6 a
INNER JOIN dbo.Respondent b ON CHARINDEX(',' + a.code + ',',' + b.CC6) > 0
GROUP BY [DESC]
原文链接:https://www.f2er.com/mssql/76015.html

猜你在找的MsSQL相关文章