我正在编写一个显示交货详情的SQL查询,另外还有一个单独的列,所有交货项目ID都用逗号分隔。 Deliveries和DeliveryItems都在一个单独的表中,所以我想我将使用Join来检索链接到该交付的所有项目,但是如何将它们放入我将要显示的列中,并将每个项目分开逗号?
由于
编辑:这是我的表结构的概念
Deliveries -
ID (PK)
...(other non relevant fields)...
DeliveryItems -
ID (PK)
Delivery (links to ID of delivery)
因此,对于该交付的每个项目,我希望在该列的列中显示分隔的项目ID逗号。
答案 0 :(得分:2)
你可以在SQL server 2005中使用PIVOT来实现。 PIVOT用于Transpose行到列或列到行,因此在您的情况下,您可以使用简单连接获取行格式的数据,之后您可以使用PIVOT来转置数据,然后您可以在一列中连接列。 / p>
检查这个link,它有一个很好的例子。
答案 1 :(得分:0)
MySQL中有一个GROUP_CONCAT
函数可以做到这一点(看一下documentation)。在DBMS中寻找类似的东西。