【发布时间】:2020-01-16 14:06:16
【问题描述】:
我的 SQL Server 表有三列:
Customer Name SOW
---------------------------------------
100068 Teradyne 59140
100068 Teradyne 63396
100068 Teradyne 38999
100057 CISCO 58056
输出应该是这样的:
Customer Name SOW
----------------------------------------------------
100068 Teradyne 59140, 63396, 38999, 60
100057 CISCO 58056
属于同一name 值的所有SOW 列值应位于一行中,如上所示。
我需要编写一个 SQL 查询来实现上述输出。
下面是我写的查询,
SELECT
SS.[Name],
STUFF((SELECT '; ' + US.[SOW]
FOR XML PATH('')), 1, 1, '') [SOW]
FROM
TBL_MSA_SOW SS
【问题讨论】:
-
好的,太好了 - 你能告诉我们到目前为止你做了什么吗?你被困在哪里了?你目前的结果是什么??
-
嗨,Marc,尝试使用 stuff 函数,但无法获得所需的输出
-
相信 Marc 会这样做的。
-
您在
STUFF中缺少FROM- 您从哪个表中选择这些行?您在US.[SOW]列上使用了US别名 - 但在FROM子句中从来没有 table 具有此别名.....
标签: sql-server-2012