2013-07-29 94 views
0
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 : ?? 
                  =============== 

我試過下面的SQLSQL = SUM佔總

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先進... =)

+1

[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins。 aspx) - 舊式*逗號分隔的表*樣式列表已停用ANSI - ** 92 ** SQL標準(超過** 20年前**) –

+0

@marc_s Im sorr Ÿ即時新手到這個論壇....你可以幫助我的SQL總? –

+0

這將有助於瞭解**您正在使用的數據庫** - SQL僅僅是查詢語言 - 被許多許多數據庫使用......這是否適用於MySQL? SQL Server?甲骨文? IBM DB2? Interbase的? Postgres的?或者是其他東西?? –

回答

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