-1
我有作爲如何獲得行數據,在SQL Server列標題2005
PeriodName
-----------
1st-Period
2nd Period
3rd Period
4th Period
5th Period
6th Period
7th Period
8th Period
我想顯示8行數據作爲臨時表中的列8行從表中單列的數據,任何人都可以幫我嗎?
我有作爲如何獲得行數據,在SQL Server列標題2005
PeriodName
-----------
1st-Period
2nd Period
3rd Period
4th Period
5th Period
6th Period
7th Period
8th Period
我想顯示8行數據作爲臨時表中的列8行從表中單列的數據,任何人都可以幫我嗎?
您可以使用動態SQL與sp_executesql的命令執行它
首先我concatenate column values在SQL 然後調用sp_executesql的SP
下面是一個簡單
Declare @sql nvarchar(max)
SELECT @sql =
'Select ' +
STUFF(
(
SELECT
',' + QUOTENAME(PeriodName)
FROM dbo.Periods
FOR XML PATH(''),TYPE
).value('.','VARCHAR(MAX)'
), 1, 1, ''
) + ' From myTable'
exec sp_executesql @sql
SQL QUOTENAME function用於保持安全列名包括空格和其他特殊字符
可能出現[將行轉換爲co在SQL Server中使用'Pivot'的列](http://stackoverflow.com/questions/15931607/convert-rows-to-columns-using-pivot-in-sql-server) – scsimon