SQL - столбец из всех строк, возвращаемых из объединения в один столбец? - PullRequest
0 голосов
/ 08 декабря 2010

Я пишу SQL-запрос, который отображает детали доставки, а также в отдельном столбце все идентификаторы доставки, разделенные запятыми. И Deliveries, и DeliveryItems находятся в отдельной таблице, поэтому я предполагаю, что я буду использовать Join для извлечения всех элементов, которые ссылаются на эту доставку, но как мне получить их в столбец, который я буду отображать, и отделить каждый элемент с помощью запятая?

Спасибо

РЕДАКТИРОВАТЬ: Вот идея моей структуры таблицы

Deliveries -
ID (PK)
...(other non relevant fields)...

DeliveryItems -
ID (PK)
Delivery (links to ID of delivery)

Поэтому для каждого элемента этой доставки я хочу отобразить запятую идентификатора элемента в столбце для этой доставки.

Ответы [ 2 ]

2 голосов
/ 08 декабря 2010

вы можете сделать это с помощью PIVOT в SQL Server 2005. PIVOT используется для транспонирования строки в столбец или столбца в строку, поэтому в вашем случае вы можете получить данные в формате строки с помощью простого объединения, после чего вы можете использовать PIVOT для транспонирования данных, а затем объединить столбцы в один столбец.

проверьте эту ссылку , у нее хороший пример.

0 голосов
/ 08 декабря 2010

В MySQL есть функция GROUP_CONCAT, которая делает это (взгляните на документацию ).Ищите нечто подобное в вашей СУБД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...