架构:
航班(Flight_Id,日期,从,到)
乘客(Passenger_Name,Gender)
票证(Ticket_Id,Flight_Id,Passenger_Name,Class,Price)
我知道怎样找到买了多张票的乘客。但不知道怎么找到只买了两张票的乘客。
答案 0 :(得分:0)
两张门票 选择Passenger_Name 从机票t INNER JOIN乘客p 在p.Passenger_Name = t.Passenger_Name上 GROUP BY Passenger_Name 有COUNT(1)= 2;
多张票
选择Passenger_Name 从机票t INNER JOIN乘客p 在p.Passenger_Name = t.Passenger_Name上 GROUP BY Passenger_Name 有COUNT(1)> 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;