sqlserver多行怎么合并成一行
可以使用以下方法将多行合并成一行:
- 使用
FOR XML PATH('')
拼接行:SELECT STUFF((SELECT ',' + ColumnNameFROM TableNameFOR XML PATH('')), 1, 1, '') AS MergedColumnFROM TableName
- 使用
STRING_AGG
函数:SELECT STRING_AGG(ColumnName, ',') AS MergedColumnFROM TableName
- 使用递归CTE(通用方法):
WITH RecursiveCTE AS (SELECT ColumnName, ROW_NUMBER() OVER (ORDER BY ColumnName) AS RowNumberFROM TableNameUNION ALLSELECT r.ColumnName + ',' + t.ColumnName, t.RowNumberFROM RecursiveCTE rINNER JOIN TableName t ON t.RowNumber = r.RowNumber + 1)SELECT TOP 1 ColumnNameFROM RecursiveCTEORDER BY RowNumber DESCOPTION (MAXRECURSION 0)
请注意,以上方法适用于SQL Server 2017或更高版本。在较早的版本中,可能需要使用其他方法来实现多行合并成一行。
SqlServer
winlogins.exe是什么文件?winlogins.exe是不是病毒
winsock2.6.exe是什么文件?winsock2.6.exe是不是病毒
WinDefendor.dll是什么文件?WinDefendor.dll是不是病毒
系统目录是什么文件?系统目录是不是病毒
wholove.exe是什么文件?wholove.exe是不是病毒
winn.ini是什么文件?winn.ini是不是病毒
w6oou.dll是什么文件?w6oou.dll是不是病毒
winduxzawb.exe是什么文件?winduxzawb.exe是不是病毒
wuammgr32.exe是什么文件?wuammgr32.exe是不是病毒
windiws.exe是什么文件?windiws.exe是不是病毒