说我有这样的表在我的MSSQL Server 2005服务器集团通过与伯爵
Apples
+ Id
+ Brand
+ HasWorms
现在我想每品牌有虫子在他们的苹果数量的概述。
事实上,如果它们未被破坏,那么更好的办法是列出所有带有国旗的苹果品牌。
所以,如果我有数据
ID| Brand | HasWorms
---------------------------
1 | Granny Smith | 1
2 | Granny Smith | 0
3 | Granny Smith | 1
4 | Jonagold | 0
5 | Jonagold | 0
6 | Gala | 1
7 | Gala | 1
我想
Brand | IsUnspoiled
--------------------------
Granny Smith | 0
Jonagold | 1
Gala | 0
落得我想我应该先
select brand, numberOfSpoiles =
case
when count([someMagic]) > 0 then 1
else 0
end
from apples
group by brand
我不能使用having子句,因为那时没有有效参赛作品的品牌会从我的名单中消失(我不会看到参赛联欢晚会)。
然后,我认为某种子查询应该这样做,但我无法将外部(分组)查询的苹果ID链接到内部(计数)查询...
任何想法?
你不只是爱我的ASCII表吗? – 2009-06-16 15:31:53
@boris:如果您告诉我们您正在使用哪种RDBMS,我们会更加爱他们。 – Quassnoi 2009-06-16 15:37:01
当然,我的不好。编辑OP – 2009-06-17 07:26:39