2016-02-27 31 views
-2

模式:按實例查詢。發現乘客誰已經買了兩個相同的票

飛行(Flight_Id,日期,發件人,收件人)

客運(PASSENGER_NAME,性別)

票(TICKET_ID,Flight_Id,PASSENGER_NAME,類,價格)

我知道如何找到誰買了多張票的乘客。但不知道如何找到只買了兩張票的乘客。

+0

哪個RDBMS這是因爲你已經爲MySQL或Oracle標記了它嗎? – MT0

+0

對不起,你們看到我的照片了? – user92322

+0

這是查詢範例 – user92322

回答

0

兩張票 選擇PASSENGER_NAME FROM票證T INNER上p.Passenger_Name = t.Passenger_Name 組加入乘客P BY PASSENGER_NAME HAVING COUNT(1)= 2;

多於一張門票

選擇PASSENGER_NAME FROM票證T INNER JOIN乘客P 上p.Passenger_Name = t.Passenger_Name GROUP BY PASSENGER_NAME HAVING COUNT(1)> 1;

0

如果你想誰買了整整兩個票航班,然後乘客:如果你想誰買多一票的航班,然後乘客

SELECT Passenger_Name, 
     Flight_Id 
FROM  Ticket 
GROUP BY Passenger_Name, 
     Flight_Id 
HAVING COUNT(Ticket_Id) = 2; 

SELECT Passenger_Name, 
     Flight_Id 
FROM  Ticket 
GROUP BY Passenger_Name, 
     Flight_Id 
HAVING COUNT(Ticket_Id) > 1;