【发布时间】:2014-07-16 22:40:13
【问题描述】:
我尝试搜索,但找不到解决方案。我正在尝试连接两个表,基本上表 2 有多行,表 1 中的一行。但是在显示时,我想列出表 1 中的所有列以及表 2 中的所有字段,但在一行中。即表 2 行将显示为列。
Table 1
ID Col2 Col3 Col4
1 John Smith CA
2 Henry Bond FL
表 2
ID (FK) Type Value
1 Car1 Honda
1 Car2 Toyota
2 Car1 Honda
2 Car2 Nissan
3 Car3 Audi
结果应该是
ID Col2 Col3 Col4 Car1 Car2 Car3
1 John Smith CA Honda Toyota
2 Henry Bond FL Honda Nissan Audi
【问题讨论】:
-
你用的是什么数据库?
-
一个人拥有的汽车数量最多是多少?您是否关心汽车是否汇总在一个结果列中?在后一种情况下,您可以使用 group_concat(如果是 mysql)listagg(如果是 Oracle)string_agg(如果是 postgresql)等。
-
感谢 cmets 人。 @Brian DeMilia,不,我不希望它被聚合。事实上,我希望动态生成列。数据库是 SQL Server 2012
标签: sql sql-server-2012 pivot