SQL Łączenie według pola, które * może * być puste

W mojej bazie danych SQL CE mam trzy tabele:customer, list icustomerlist (tabela połączeń międzycustomer ilist - ponieważ jest to relacja wiele do wielu).

Próbuję uruchomić zapytanie, które wyświetli wszystkie aktualne listy, a także liczbę klientów, którzy aktualnie subskrybują tę listę (licząc odcustomerlist stół).

Oto moje aktualne zapytanie:

select list.listid, count(customerlist.customerid) as numppl, list.ShortDesc
from list inner join customerlist on list.listid=customerlist.listid
group by list.ShortDesc, list.listid
order by numppl desc

Obecna struktura tej bazy danych:

[Customer]           [List]             [CustomerList]
CustomerId           ListId             CustomerListId
Name                 ShortDesc          CustomerId
Other details                           ListId

To obecnie zwraca wszystkie listy, które mają aktualnie przypisanych klientów - ale nie listy, które są puste. Puste listy są ukryte.

Chciałbym zmodyfikować to zapytanie, aby wyświetlić także puste listy, ale walczę. Moje pożądane wyjście to:

Name      numppl
listA     375
listB     45
listC     0

(W powyższym przykładzie listC nie jest obecnie zwracany).

Jakieś przemyślenia, jak również wyświetlić listęC w zapytaniu?

questionAnswers(2)

yourAnswerToTheQuestion