我有这个SQL查询:
SELECT DISTINCT
[Card NO],
[User Name],
(
SELECT
MIN(DateTime) AS [Enter Time],
MAX(DateTime) AS [Exit Time],
MAX(DateTime) - MIN(DateTime) AS [Inside Hours]
FROM
ExcelData
)
FROM
ExcelData
GROUP BY
[Card NO], [User Name], DateTime
表架构:CardNO | UserName | DateTime
我试图执行它但没有成功。我说这是一个无效的查询。 任何人都可以在此查询中找到错误吗?
答案 0 :(得分:0)
这不会解决保留关键字和列名称可能存在的问题,但应该是有效查询。您使用选择查询作为列名称。
SELECT
[Card NO],
[User Name],
MIN(DateTime) AS [Enter Time],
MAX(DateTime) AS [Exit Time],
MAX(DateTime) - MIN(DateTime) AS [Inside Hours]
FROM
ExcelData
GROUP BY
[Card NO], [User Name]
答案 1 :(得分:0)
您正在按DateTime进行分组,这是一个保留关键字,并且您不选择DateTime列。您确实选择了DateTime上的聚合,这意味着您不应该对其进行分组。 @irene得到了正确的答案。