SELECT ProductNo ,
ProductCNName ,
D.[value] AS SelectedProduct
FROM dbo.TPRODUCT A WITH ( NOLOCK )
LEFT JOIN ( SELECT [value] = CAST('<v>' + REPLACE(product_code, ',',
'</v><v>') + '</v>' AS XML)
FROM TRULE WITH ( NOLOCK )
) temp
OUTER APPLY ( SELECT [value] = T.C.value('.', 'varchar(50)')
FROM temp.[value].nodes('/v') AS T ( C )
) D ON '''' + A.ProductNo + '''' = D.[value]
原来一列的值
'00306','00031'
转换后 两行
'00306'
'00031'