【发布时间】:2021-03-05 01:31:03
【问题描述】:
提示是假设风险“1”设施每年至少需要进行 3 次类型检查。显示 2013 年未能满足此要求且至少有 1 次 Canvass 类型检查失败的设施。显示设施名称以及 2013 年有多少 Canvass 检查。提示:使用子查询
这是我的代码
SELECT DBAName, COUNT(*)
FROM FoodInspectionOriginal, Organization
WHERE Risk = 1 AND [Inspection Type] IN (SELECT [Inspection Type] FROM FoodInspectionOriginal WHERE [Inspection Type] = 'Canvass' AND [Inspection Date] = Year(2013))
GROUP BY DBAName;
我得到这是输出
消息 209,第 16 级,状态 1,第 3 行
不明确的列名“风险”。
【问题讨论】:
-
错误意味着 FoodInspectionOriginal 和 Organization 表具有相同的列名:Risk
-
进化——没有人应该使用old-style joins。
标签: sql sql-server subquery aggregate-functions having-clause