我在我们的一张桌子上遇到麻烦,我打算在viz工具中使用它们。也许你可以指导我如何在下面实现。
我的表格如下:
123 | ABC DEF
456 | GHI JKL MNO
789 | PRS
我想将第二列拆分成行并保留第一列的值:
123 | ABC
123 | DEF
456 | GHI
456 | JKL
456 | MNO
789 | PRS
你能告诉我如何实现这个目标吗? 提前致谢。干杯!
答案 0 :(得分:2)
您可以使用XML
节点方法来分割数据:
SELECT ID, split.a.value('.', 'VARCHAR(MAX)') DATA
FROM
(
SELECT ID, CAST('<A>'+REPLACE(DATA, ' ','</A><A>')+'</A>' AS XML) AS data from <table_name>
) a
CROSS APPLY data.nodes('/A') AS split(a);
结果:
ID DATA
123 ABC
123 DEF
456 GHI
456 JKL
456 MNO
789 PRS