当前位置: 代码迷 >> Sql Server >> sql分拆记录的有关问题
  详细解决方案

sql分拆记录的有关问题

热度:68   发布时间:2016-04-25 01:13:22.0
sql分拆记录的问题
有一张表里面有个外键,根据这个外键分组得到每个对应的总数,但是现在这个表调整结构了,这个外键改成了可以存多个值,用逗号隔开的那种,请问如何用最少的改动统计出每个对应的总数。
以前的sql语句:
SELECT Receiver, IntentionCarType, COUNT(1) AS number FROM Flow 
GROUP BY Receiver, IntentionCarType  
现在IntentionCarType 可以存多个值逗号隔开,请大家给点提示,谢谢。


------解决方案--------------------
SQL code
给你看个查分的例子if not object_id('Tab') is null    drop table TabGoCreate table Tab([Col1] int,[COl2] nvarchar(5))Insert Tabselect 1,N'a,b,c' union allselect 2,N'd,e' union allselect 3,N'f'GO--sql2005 或更高版本SELECT  a.COl1 , Col2 = T.c.value('.' , 'nvarchar(100)')FROM    (         SELECT Col1 , Col2= CONVERT( XML, '<v>'+ REPLACE (COl2 , ',' , '</v><v>')+ '</v>') FROM Tab        ) aCROSS APPLY a.Col2.nodes('/v/text()') T (c)/*COl1    Col21    a1    b1    c2    d2    e3    f*/
  相关解决方案