SQL 枢轴变换
SQL pivot transform
我想对从 table FloatNAR800
的行转换而来的 return 列使用数据透视查询,我有这段代码,但对我不起作用。有什么想法吗?
declare @nume_coloane as nvarchar(max),
@dynamic_pivot_query as nvarchar(max)
set @nume_coloane = STUFF ((select ',' + QUOTENAME(TagIndex)
from (select distinct TagIndex from FloatN2_NAR800) sub
order by TagIndex
for xml path(''), type ).value('.', 'nvarchar(max)')
set @dynamic_pivot_query = 'select DateAndTime,' + @nume_coloane +
'from
(select DateAndTime, TagIndex, Val
from FloatN2_NAR800) x
pivot'
当我要创建此查询时出现错误:
Incorrect syntax near the keyword 'SET'
但我不知道我做错了什么...
您缺少代码... pivot 语句未以 Pivot 关键字结尾。
You code then...
PIVOT
(
<aggregation function>(<column being aggregated>)
FOR
[<column that contains the values that will become column headers>]
IN ( [first pivoted column], [second pivoted column],
... [last pivoted column])
) AS <alias for the pivot table>
看这里:https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
我建议您先让 Pivot 工作,然后将其变成动态的 sql。
我想对从 table FloatNAR800
的行转换而来的 return 列使用数据透视查询,我有这段代码,但对我不起作用。有什么想法吗?
declare @nume_coloane as nvarchar(max),
@dynamic_pivot_query as nvarchar(max)
set @nume_coloane = STUFF ((select ',' + QUOTENAME(TagIndex)
from (select distinct TagIndex from FloatN2_NAR800) sub
order by TagIndex
for xml path(''), type ).value('.', 'nvarchar(max)')
set @dynamic_pivot_query = 'select DateAndTime,' + @nume_coloane +
'from
(select DateAndTime, TagIndex, Val
from FloatN2_NAR800) x
pivot'
当我要创建此查询时出现错误:
Incorrect syntax near the keyword 'SET'
但我不知道我做错了什么...
您缺少代码... pivot 语句未以 Pivot 关键字结尾。
You code then...
PIVOT
(
<aggregation function>(<column being aggregated>)
FOR
[<column that contains the values that will become column headers>]
IN ( [first pivoted column], [second pivoted column],
... [last pivoted column])
) AS <alias for the pivot table>
看这里:https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
我建议您先让 Pivot 工作,然后将其变成动态的 sql。