I asked a similar question in "Database Administrator" but sadly no one answered the question so I decided to transfer the data.
I have a table like this:
------------------------------------------------------
Parts | Owner | Number | Item_ID | ...
------------------------------------------------------
PartB | Adam | 4 | Item_a,Item_b,Item_z,...
ConD | Steve | 2 | Item_b,Item_c,Item_g,...
I wanted to have each value as a separate row:
------------------------------------------------------
Parts | Owner | Number | Item_ID | ...
------------------------------------------------------
PartB | Adam | 4 | Item_a
PartB | Adam | 4 | Item_b
PartB | Adam | 4 | Item_z
ConD | Steve | 2 | Item_b
ConD | Steve | 2 | Item_c
ConD | Steve | 2 | Item_g
Based on this answer , I tried :
SELECT Parts,
Owner,
Split.a.value('.', 'VARCHAR(100)') Item_ID
FROM (SELECT Parts,
Owner,
Cast ('<M>' + Replace(Item_ID, ',', '</M><M>') + '</M>' AS XML) AS Data
FROM Table_1) AS A
CROSS APPLY Data.nodes ('/M') AS Split(a)
But I get an error:
You have an error in your SQL syntax...near '('.', 'VARCHAR(100)')...