SQL:2计数使用连接?

时间:2010-06-14 13:35:45

标签: sql

我有这两张桌子:

表:单位

UnitID | Title   
1        Unit 1
2        Unit 2
3        Unit 3

表:件

PieceID | UnitID | Category
1         1        A
2         1        A
3         1        B
4         2        A
5         3        B

我需要做的是显示包含具有类别A的Piece行的总单位数,以及具有类别A的Piece表行的总数(不管unitid)。因此,使用上面的数据,结果将是2个单位,3个行。

我可以用两个陈述来做这个,但我想做一个。

比我更狡猾的人提出任何建议吗?

2 个答案:

答案 0 :(得分:2)

尝试:

select count(distinct UnitID) total_units, count(*) total_rows
from Piece
where Cateory = 'A';

答案 1 :(得分:2)

过滤掉具有正确类别的碎片,然后明确计算单位:

select count(distinct UnitId) as Units, count(*) as Pieces
from Piece
where Category = 'A'