Date Flight ID Member ID Seat Type Seat Price
2013-07-28 F71498 M69202 Business RM 40.00
F73591 M69202 First RM 50.00
M69202 First RM 50.00
F71498 M37520 Business RM 40.00
M69202 Business RM 40.00
===============
Total : ??
===============
我尝试过以下SQL
SELECT
r.ReservationDate, r.FlightID, r.MemberID, s.SeatType, s.SeatPrice
FROM
flight f, reservation r, seat s, member m
WHERE
r.FlightID = f.FlightID
AND r.SeatID = s.SeatID
AND r.MemberID = m.MemberID
AND ReservationDate = '2013-07-28'
AND s.FlightID = f.FlightID
我可以按原样生成上面的报告,但是我需要帮助来提高总计SeatPrice
。我可以知道如何计算总计吗? Thx in advanced ... =)
答案 0 :(得分:0)
如果我理解正确,您希望结果集如下所示,即最后一行包含列总计和总值
Date Flight ID Member ID Seat Type Seat Price
2013-07-28 F71498 M69202 Business RM 40.00
2013-07-28 F73591 M69202 First RM 50.00
2013-07-28 F73591 M69202 First RM 50.00
2013-07-28 F71498 M37520 Business RM 40.00
2013-07-28 F71498 M69202 Business RM 40.00
Total RM 220.0
你可以做到
SELECT
r.ReservationDate, r.FlightID, r.MemberID, s.SeatType, s.SeatPrice
FROM
flight f, reservation r, seat s, member m
INNER JOIN reservation r
ON r.FlightID = f.FlightID
INNER JOIN seat s
ON r.SeatID = s.SeatID
INNER JOIN member m
ON r.MemberID = m.MemberID
WHERE ReservationDate = '2013-07-28'
AND s.FlightID = f.FlightID
UNION
SELECT '','','','Total',SUM(s.SeatPrice)
FROM
FROM
flight f, reservation r, seat s, member m
INNER JOIN reservation r
ON r.FlightID = f.FlightID
INNER JOIN seat s
ON r.SeatID = s.SeatID
INNER JOIN member m
ON r.MemberID = m.MemberID
WHERE ReservationDate = '2013-07-28'
AND s.FlightID = f.FlightID