我一直在掙扎,真的很感激一些幫助:計數用兩個表,並顯示爲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