列转行编程中很容易碰到,小弟在此总结下, 行转列暂时还没遇到,遇到再补充。
列转行:
SELECT STUFF(( SELECT ',' + 字段
FROM 表名
FOR
XML PATH('')
), 1, 1, '')
FROM 表名
FOR
XML PATH('')
), 1, 1, '')
一般用于子查询
SELECT ( SELECT STUFF(( SELECT ',' + username
FROM dbo.admin
FOR
XML PATH('')
), 1, 1, '')
) UserNames
FROM admin
WHERE dbo.admin.userid = 1
FROM dbo.admin
FOR
XML PATH('')
), 1, 1, '')
) UserNames
FROM admin
WHERE dbo.admin.userid = 1
以上都是以逗号分隔,分隔符可以自定义。