объединение строк из двух разных строк в таблице - PullRequest
1 голос
/ 22 марта 2010

Мы пытаемся переработать SQL в продукте.Продукт сохраняет XML в таблице следующим образом:

XML_STORAGE
- UID IDENTITY
- PARENT_ID INTEGER
- SEQ INTEGER
- XML VARCHAR(3800)

Текущий способ сделать это следующим образом:

Получить все строки для PARENT_ID = n.Затем просмотрите извлеченные строки в коде и объедините строки XML в один большой XML перед анализом.Столбец SEQ используется для того, чтобы ЗАКАЗАТЬ результат, чтобы строки XML можно было правильно объединить.Надеюсь, это понятно.

То, что мы пытаемся сделать, это переработать, чтобы мы могли использовать вариант SQL для извлечения всей строки и просто извлечь одну строку обратно из DB2.Есть ли функция DB2, которая позволит нам объединить строку во всех этих строках в одну большую строку в наборе результатов.Как бы выглядел такой SQL.Пожалуйста, дайте мне знать.Любая помощь очень ценится.

Спасибо!- Азим

Ответы [ 2 ]

0 голосов
/ 22 марта 2010

Да, есть. Заблокируйте XMLELEMENT, XMLAGG и XMLSERIALIZE. Это должно помочь большинству людей. Пример, который вы можете увидеть в следующем вопросе Вывод запроса DB2 SQL XML в уникальный файл XML

Edit:

Почему бы тебе не сделать что-то вроде select '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from table? Если вам нужно объединить все строки в одну, запустите постобработку, чтобы удалить разрывы строк.

0 голосов
/ 22 марта 2010

Проверка рекурсивных запросов в DB2, например, упомянутых здесь

...