【发布时间】:2022-01-20 06:33:45
【问题描述】:
我有这个 SQL 查询:
SELECT
Runs.runID, Runs.runDateTime,
COUNT(Files.destFileID) AS FileCount
FROM
Runs
LEFT OUTER JOIN
Files ON Files.runID = Runs.runID
WHERE
FileCount > 0
GROUP BY
Runs.runID, Runs.runDateTime
ORDER BY
Runs.runDateTime
它运行良好并在没有WHERE 行的情况下显示预期结果,但我确实需要过滤结果数据,因为这意味着。
我得到的错误是
列名“FileCount”无效
在WHERE 关键字之后。
我一直在阅读,但在网上找不到任何包含我拥有的所有元素的资源。
【问题讨论】:
-
这是最高结果from a Google search
-
SQL 语句不会从上到下解释。顺序是 FROM、WHERE、GROUP、HAVING、SELECT、ORDER(没有穷举,例如窗口函数在 where 和 group 之间完成)。您不能在序列的早期部分中使用序列后期的某些内容
-
(HAVING 是应用于 GROUP BY 的 WHERE)
标签: sql sql-server tsql