听起来很简单,但是我在努力挣扎,可能是在思考。
我基本上是想弄清category
字段是否为category
,即Job
字段中缺少的title
值是什么...我正在尝试不做任何重复。
因此,在此示例中,它应该返回一些内容,指示Strategy
字段的Job
中没有title
。
尽管我最初只是做一个COUNT()
,如以下示例所示:
SELECT category, COUNT(title)
FROM grid_mgmt
WHERE title = 'Job'
GROUP BY category;
但是后来很明显,它没有用,因为没有什么可计数的。
是否有什么建议可以在无计数的情况下返回0,或者是使用SQL在MS Access中解决此问题的更好方法?
答案 0 :(得分:2)
您可以使用条件聚合:
SELECT category, SUM(IIF(title = "Job", 1, 0))
FROM grid_mgmt
GROUP BY category;
或者,如果您有单独的类别表,请使用LEFT JOIN
:
select c.category, count(gm.category)
from category as c left join
grid_mgmt as gm
on gm.category = c.category and
gm.title = "Job"
group by c.category;
答案 1 :(得分:0)
戈登的response回答了这个问题,但由于我最终对其进行了修改,使其只返回那些= 0
的内容,因此希望对其进行扩展:
SELECT category
FROM (
SELECT category, SUM(IIF(title = "Job", 1, 0)) AS count
FROM grid_mgmt
GROUP BY category
)
WHERE count = 0;
以防万一这可以帮助其他人。