Sounds like a simple thing to do, but I’m struggling with it and probably over thinking it.
I’m basically trying to figure out if a category, and what category that is, that is missing a Job value in the title field… and I’m trying to do it without iteration.
So in this example, it should return something indicating that Strategy doesn’t have a Job in the title field.
My initial though was to just do a COUNT() like in the following example:
SELECT category, COUNT(title) FROM grid_mgmt WHERE title = 'Job' GROUP BY category;
But then that became apparent it wouldn’t work because there isn’t anything to count.
Any suggestions on how to return a 0 if there is nothing to count, or perhaps a better way of tackling this issue in MS Access with SQL?
Advertisement
Answer
You can use conditional aggregation:
SELECT category, SUM(IIF(title = "Job", 1, 0)) FROM grid_mgmt GROUP BY category;
Or if you have a separate category table, a 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;
