我一直在挣扎,真的很感激一些帮助:计数用两个表,并显示为0没有结果SQL
我有两个表航班和载体。
航班
Flight_ID | Airport_Origin | Airport_Destination | Carrier_ID
1 | DOM | IAD | 1
2 | IAD | DOM | 4
3 | BAL | UEI | 1
4 | LAX | CHI | 2
5 | VAS | SDA | 3
6 | MUM | PAR | 2
7 | LAD | BOS | 4
运营商
carrier_ID | Carrier_Name
1 | American
2 | southwest
3 | delta
4 | united
5 | spirit
我想和航班数量的计数来显示它的名字各承运航空公司。如果航空公司没有航班,它应该显示0,并应显示所有运营商。
输出应该是:
CarrierName | NumberofFlights
American | 2
southwest | 2
delta | 1
united | 2
spirit | 0
我的代码:
select carriers.Carrier_Name AS 'Carrier Name', count(*) AS 'Number of Flights'
from flights
inner join carriers
on flights.Carrier_ID = carriers.Carrier_ID
group by Carrier_Name
Order BY Carrier_Name
;
我似乎无法显示,没有航班为0.我的输出为载体如下:
'count(*)'在'left join'查询中出错,它需要'count(f.something)'。 – Barmar
确定,固定。谢谢! –
感谢您的帮助Ivan!我之前没有使用子查询,这是一个很好的例子。还要感谢关于何时使用内部连接的提示。 – IronBat