1

以下に示すデータを使用すると、結果を返すTableA単一のクエリが必要になります。SELECTTableB

表A :

Id  Cvs 
--------------------------------
1   aaa,eee,ccc,ggg,hhh,bbb
2   ggg,bbb,ccc,ggg,aaa,bbb,bbb
3   ddd,ggg,eee

表 B :

Id  Value
1   aaa
1   eee
1   ccc
1   ggg
1   hhh
1   bbb
2   ggg
2   bbb
2   ccc
2   ggg
2   aaa
2   bbb
2   bbb
3   ddd
3   ggg
3   eee

T-SQL関数または結合クエリのために、それを行う方法を教えてください。

4

4 に答える 4

0

これを試して

SELECT A.ID,  
     Split.a.value('.', 'VARCHAR(100)') AS CVS  
FROM  
(
    SELECT ID,  
         CAST ('<M>' + REPLACE(CVS, ',', '</M><M>') + '</M>' AS XML) AS CVS  
    FROM  TableA 
) AS A CROSS APPLY CVS.nodes ('/M') AS Split(a)
于 2013-04-24T10:01:27.767 に答える