日期:2014-05-17  浏览次数:20545 次

sql一个字段内容拆分问题,先谢谢了
各位高手:咨询个sql语句:有个表中,一个字段里面装有这些内容,
字段名:        table  
字段内容:   [a,b,c,d]

我想拆分为:
mx   数量
a    4
b    4
c    4
d    4


字段内容:   [e,f,g]
mx   数量
e    3
f    3
g    3
 
这样的sql怎么写? 
------解决方案--------------------
DECLARE @str VARCHAR(50)
DECLARE @xml XML
SET @str='a,b,c,d'
set @xml='<value>'+REPLACE(@str,',','</value><value>')+'</value>'

SELECT 
     T.C.value('.','VARCHAR(200)') AS result,flag=LEN(@str)-LEN(REPLACE(@str,',',''))+1
from @xml.nodes('/value') T(C)
------解决方案--------------------
select * from [table] where mx in('a','b','c','d')
select * from [table] where mx in('e','f','g')