[英]SQL using column value to get column value from another table, then using THAT value to get count of columns from a third table with that value?
我有三張桌子:
Carrier(CarrierID(PK), FirstName, LastName)
Customer(CustomerID(PK), FirstName, LastName, RouteID(FK))
Route(RouteID(PK), CarrierID(FK), RouteName)
每條路線只有一個承運人。
我需要顯示每個運營商負責的客戶數量。
我知道我需要使用CarrierID來獲取RouteID,然后使用RouteID來計算具有該RouteID的Customers行。
有人可以向我解釋SELECT語句的外觀嗎?
如果您需要不同數量的客戶,您可以使用count(distinct ..)group by和join
select r.CarrierID, count(distinct CustomerID )
from Route r
inner join Customer c on c.RouteID = r.RouteID
group by r.CarrierID
select r.CarrierID, c2.Firstname, c2.Lastname, count(distinct CustomerID )
from Route r
inner join Customer c on c.RouteID = r.RouteID
inner join Carrier c2 on c2.CarrierID = r.CarrierID
group by r.CarrierID, c2.Firstname, c2.Lastname
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.