bum*_*una 12 sql t-sql sql-server
嗨,我正在做一些针对遗留数据库的报道,而且我有一点脑屁......
基本上有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 ....
Run Code Online (Sandbox Code Playgroud)
它就这样......所以我需要做一组/计算一些......
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]
Run Code Online (Sandbox Code Playgroud)
由于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]
Run Code Online (Sandbox Code Playgroud)
哪个不起作用,即使这样也行不通,因为6会出现等等...
我知道必须有更好的方法来做到这一点.有什么想法吗 ?
试试这个(我假设之间没有任何空格等,以及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]
Run Code Online (Sandbox Code Playgroud)