2010-05-20 4 views
1

У меня есть следующая таблица данных:Как объединить более одной строки результатов на основе уникального идентификатора

number holiday 
123456 LDN 
123456 NYC 
123456 IRL 
456789 NYC 
456789 CHILE 

В основном каждый номер может иметь до 4-х праздников; Мне нужно каждый номер, который будет отображаться только один раз, а затем объединить результаты праздника в одно поле (а не 3 в приведенном выше примере для номера 123456)

В идеале я хочу, чтобы таблица отображения следующего:

number holiday 
123456 LDN, NYC, IRL 
456789 NYC, CHILE 

Я могу либо выводить результаты в Excel и maniplaute оттуда, либо использовать таблицы sql и temp.

+0

Какую базу вы используете? –

+0

Возможный дубликат [Имитация функции group_concat MySQL в MS SQL Server 2005?] (Http://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function-in-ms-sql-server-2005) –

ответ

1

Если вы используете MySQL, то вы можете использовать GROUP_CONCAT:

SELECT number, GROUP_CONCAT(holiday) 
FROM table1 
GROUP BY number 

Если вы используете SQL Server вы можете эмулировать GROUP_CONCAT с помощью FOR XML PATH хак. См. this article для более подробной информации.

+0

Я использую sql-сервер; Я обязательно запомню этот трюк. Невероятно, что у них нет собственного способа сделать это. –