【发布时间】:2012-10-21 12:40:47
【问题描述】:
我有一个问题。我知道以前有人问过。我查看了相关问题,但无法让我的 SQL 脚本工作。
这是我的查询:
SELECT T1.PART_ID, T2.ID, T2.DESCRIPTION
FROM #TEMP T1
INNER JOIN #TEMP2 T2 ON T1.PART_ID = T2.PART_ID
ORDER BY T2.ID
表:
PART_ID | ID | DESCRIPTION
----------------------------------
10002 | 1182505 | Tagfahrlichtschaltung
80029 | 1182505 | Bluetooth
20004 | 1212866 | Kindersitzbefestigung
10045 | 1212866 | Lederlenkradrriegelung
11908 | 1257946 | Airbag
22346 | 1257946 | Automatic
我想要这样的结果:
ID | LISTOFPARTS
-----------------------------
1182505 | "10002 : Tagfahrlichtschaltung ; 80029 : Bluetooth "
1212866 | "20004 : Kindersitzbefestigung ; 10045 : Lederlenkradrriegelung"
1257946 | "11908 : AIRBAG ; 22346 : AUTOMATIC"
我猜它必须与 XML PATH 相关,但我无法让它工作。 任何人都可以重写查询,以便它返回分组并以字符串连接的结果吗?
将不胜感激有或没有 XML PATH 的解决方案。
谢谢!
【问题讨论】:
-
建议:在sqlfiddle.com 中发布您的架构,以方便我们使用。 *编辑 - 这可能与您的问题有关:stackoverflow.com/questions/10405362/…
-
第一个你不是加入了错误的领域吗? ID 似乎与 part_ID 不同。
-
没有。 Id 是车辆 ID。 PartID 是零件的 ID。 PartID 在 CARS 和 CAR_PARTS 表中很常见。描述取自 CAR_PARTS 表并连接以查找汽车的部件(描述)。
标签: sql-server group-by concatenation for-xml-path