如何计算SQL Server上用户每天的出勤时间

时间:2018-09-13 00:52:48

标签: sql sql-server

我是新来的。

我在表上有休闲数据: Sample Data

我需要得到令人失望的结果: Expected Result

我正在使用休闲的SQL查询: SQL Query

DECLARE @sql AS NVARCHAR(MAX)=''
DECLARE @cols AS NVARCHAR(MAX)=''

select @cols = STUFF((SELECT distinct ',' + QUOTENAME(Date)
        FROM vRecords
        ORDER BY ',' + QUOTENAME(Date)
        FOR XML PATH(''), TYPE
        ).value('.', 'NVARCHAR(MAX)')
    ,1,1,'')
SET @sql = N'
    SELECT EmpID, Name, ' + @cols + '
    FROM (
    select EmpID,Name,Date,Time
    from vRecords
    ) a
    PIVOT(COUNT(Time) FOR Date IN (' + @cols + ')) p'
EXECUTE(@sql)

我需要完成的事情是知道用户在每个DATE有多少次记录

但是我得到错误的结果: Wrong results

我在做什么错了?

对不起,所有链接都没有,但是由于我是新手,所以无法嵌入图像。

1 个答案:

答案 0 :(得分:0)

我发现了问题。

所有问题都与日期格式有关。

这些列是使用2018-09-12格式生成的,数据使用的格式是2018年12月9日。

无论如何,谢谢您的评论。