我有以下表格:
Persons
|id |firstname|lastname|
|-----|---------|--------|
|1 |John |Doe |
|2 |Jim |Smith |
|3 |Jane |Boggard |
|4 |Joe |Dash |
Vehicles
|p_id |type |
|-----|-------|
|1 |car |
|1 |bike |
|1 |car |
|2 |car |
|3 |car |
|3 |bike |
|4 |plane |
我想找到一种方法来获得每个人的汽车数量(即:匹配“vehicles”联接表的行数)。我在联接表中尝试了涉及count的子查询,但得到了错误的结果。
我预期的结果如下:
|firstname|lastname|nb_cars|
|---------|--------|-------|
|John |Doe |2 |
|Jim |Smith |1 |
|Jane |Boggard |1 |
|Joe |Dash |0 |
我怎么能做到呢?
4条答案
按热度按时间bxfogqkk1#
你必须使用
join
&group by
条款,如:azpvetkf2#
试试这个
xlpyo6sf3#
做左连接和
aggregate
sum
功能http://sqlfiddle.com/#!2016年9月D72/1
carvr3hs4#
试试这个: