如何根据唯一标识符组合多行结果

时间:2010-05-20 19:56:54

标签: sql

我有以下数据表:

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并从那里进行操作,或者使用sql和temp表。

1 个答案:

答案 0 :(得分:1)

如果您使用的是MySQL,则可以使用GROUP_CONCAT:

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

如果您使用的是SQL Server,则可以使用FOR XML PATH hack来模拟GROUP_CONCAT。有关详细信息,请参阅this article