一、SQLServer FOR XML PATH使用案例 (eg:拼凑列值)
本段转自:https://blog.csdn.net/Wikey_Zhang/article/details/77505233
有一张城市表:
SELECT DISTINCT province,
STUFF
(
(
SELECT ','+city
FROM #T_city B
WHERE B.province=A.province
FOR XML PATH('')
),1,1,''
)city
FROM #T_city A
实现结果:
总结:
基本语法就是 SELECT COLNUM FROM TABLE FOR XML PATH(''),将某一列的值在一行显示出来,如果PATH里面的参数不是空,将会形成XML标签的形式:SELECT province,city FROM #T_city FOR XML PATH('Title')
二、在 FROM 子句中将多个值指定为派生表
表值构造函数 (Transact-SQL) - SQL Server | Microsoft Learn
SELECT a, b FROM (VALUES (1, 2), (3, 4), (5, 6), (7, 8), (9, 10) ) AS MyTable(a, b);
GO
-- Used in an inner join to specify values to return.
SELECT ProductID, a.Name, Color
FROM Production.Product AS a
INNER JOIN (VALUES ('Blade'), ('Crown Race'), ('AWC Logo Cap')) AS b(Name)
ON a.Name = b.Name;