带内部选择的Sql Query

时间:2014-09-19 08:04:01

标签: sql database ms-access

我有这个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

我试图执行它但没有成功。我说这是一个无效的查询。 任何人都可以在此查询中找到错误吗?

2 个答案:

答案 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得到了正确的答案。

相关问题