Я пытаюсь сжать таблицу сопоставлений в составную строку XML.По сути, я хочу взять эту таблицу:
Old_Key Old_Value
1 'a'
1 'b'
1 'c'
2 'd'
2 'e'
и вставить ее так, чтобы значения в col2 превращались в строку XML для каждого значения в Col1, например, так:
New_Key New_Value
1 <vals><val>a</val><val>b</val><val>c</val><vals>
2 <vals><val>d</val><val>e</val></vals>
Мой текущий код конкатенации:
INSERT INTO New_Table (New_Key, New_Value)
SELECT DISTINCT(Old_Key), (SELECT Old_Value AS val FROM Old_Table FOR XML PATH(''), ROOT('vals')) FROM Old_Table
Этот код не работает, поскольку все значения Old_Values объединяются вместе.Как я могу убедиться, что только Old_Values, которые совместно используют один и тот же ключ, объединяются вместе?Дайте мне знать, если я еще что-нибудь могу сделать, чтобы прояснить ситуацию.Спасибо!