How can I pivot these key+values rows into a table of complete entries?
- by CodexArcanum
Maybe I demand too much from SQL but I feel like this should be possible.  I start with a list of key-value pairs, like this:
'0:First, 1:Second, 2:Third, 3:Fourth'
etc.  I can split this up pretty easily with a two-step parse that gets me a table like:
EntryNumber  PairNumber  Item
0            0           0
1            0           First
2            1           1
3            1           Second
etc.
Now, in the simple case of splitting the pairs into a pair of columns, it's fairly easy.  I'm interested in the more advanced case where I might have multiple values per entry, like:
'0:First:Fishing, 1:Second:Camping, 2:Third:Hiking' 
and such.  
In that generic case, I'd like to find a way to take my 3-column result table and somehow pivot it to have one row per entry and one column per value-part.
So I want to turn this:
EntryNumber  PairNumber  Item
0            0           0
1            0           First
2            0           Fishing
3            1           1
4            1           Second
5            1           Camping
Into this:
Entry   [1]   [2]      [3]
0       0     First    Fishing
1       1     Second   Camping
Is that just too much for SQL to handle, or is there a way?  Pivots (even tricky dynamic pivots) seem like an answer, but I can't figure how to get that to work.