对于枢轴功能,没有为'sr1'的第1列指定列

时间:2015-03-09 05:43:47

标签: sql sql-server tsql

提出问题的查询

select * from 
(select user,logdate,[in time],[out time],[worked time] from tmp_phys_table) as sr1
PIVOT
(SUM([worked time]) FOR [LOGDATE] IN ([1])) AS TMPQ 

我无法理解问题所在。我正在做枢轴,因为我想把行变成列。

input datat table

我希望以下格式输出。图像是我在excel中创建的用于数据可视化的图像,用于我的报告目的,我想在sql中使用,但我不知道如何查看日期因此查询我写的和这给出了上述错误

  

没有为' sr1'的第1列指定列。用于枢轴功能

output data

1 个答案:

答案 0 :(得分:1)

我认为您的问题是在您的字段名称中使用保留字; User是保留字,虽然我强烈建议您更改字段名称,但您需要对其进行别名。

SELECT * 
from (SELECT user As Usr,logdate,[in time],[out time],[worked time] 
    from tmp_phys_table) as sr1 
PIVOT (SUM([worked time]) FOR [LOGDATE] IN (1)) AS TMPQ

注意:我没有测试过这个问题,我只是想解决问题

我还强烈建议您更改其他一些列,以便它们没有空格,因为您输入的正确,它们需要方括号,随着时间的推移会变得令人沮丧。