没有为数据透视函数的 'sr1' 的第 1 列指定列

No column was specified for column 1 of 'sr1' for pivot function

这是给出问题的查询

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 

我无法理解问题所在。我正在做数据透视表,因为我想将行变成列。

我想要以下格式的输出。该图像是我在 excel 中创建的,用于报告目的的数据可视化,与我在 sql 中想要的相同,但我不知道如何处理日期因此我写的查询给出了上述错误

No column was specified for column 1 of 'sr1' for pivot function

我认为您的问题是在您的字段名称中使用了保留字; 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

注意:我还没有对此进行测试,我只是解决了突出的问题

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