Ash*_*pta 2 sql t-sql sql-server sql-server-2005
表和示例数据的脚本
CREATE TABLE #TEMPTABLE1(ID INT, COL1 NVARCHAR(10))
CREATE TABLE #TEMPTABLE2(ID INT, COL2 NVARCHAR(10))
INSERT INTO #TEMPTABLE1 (ID) VALUES(1)
INSERT INTO #TEMPTABLE1 (ID) VALUES(2)
INSERT INTO #TEMPTABLE1 (ID) VALUES(3)
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(1,'A')
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(1,'B')
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(1,'C')
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(2,'X')
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(2,'Y')
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(3,'Z')
Run Code Online (Sandbox Code Playgroud)
我需要更新#TEMPTABLE1这样的
ID COL1
---------
1 A,B,C
2 X,Y
3 Z
Run Code Online (Sandbox Code Playgroud)
听起来像OP需要更新声明.
UPDATE [x]
SET
[COL1] = STUFF
(
(
SELECT
N',' + [COL2]
FROM
[#TEMPTABLE2] AS [y]
WHERE
[y].[ID] = [x].[ID]
FOR XML PATH(''), TYPE
).value(N'.', N'nvarchar(10)'),
1, 1, N''
)
OUTPUT INSERTED.*
FROM
[#TEMPTABLE1] AS [x]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |