我必須列出在時間1和時間2之間的一行中不同的 電臺售出的門票數量之間的差異。我有三張桌子:時間1,時間2和地點。在三張桌子上工作,我的分組不工作
create table fares_jan18 (
station varchar(100),
ff int
);
create table fares_feb1 (
station varchar(100),
ff int
);
create table stations (
name varchar(100),
line varchar(50)
);
我使用這個查詢:
SELECT
fares_jan18.station AS name,
SUM(fares_feb1.ff - fares_jan18.ff) AS diff_feb1_jan18
FROM
fares_jan18
JOIN fares_feb1 ON fares_jan18.station = fares_feb1.station
JOIN stations ON fares_jan18.station = stations.name
WHERE
stations.line ="Broadway"
GROUP BY
name
ORDER BY
name;
它確實給我正確的表,但是當曾經有不止一個記錄,我得到的複製差的總和。例如,具有兩個值的電臺的結果應該是33254,並且「給我66508」。我已經從我的查詢中刪除了該組,但似乎是記錄而不是兩個。
我已經閱讀了所有我可以在StackOverflow,但我無法讓我的頭在我做錯了什麼?謝謝!!
這裏是我的表的圖像:
您在查詢中使用的表格不同於您在頂部顯示的表格。 – Barmar 2014-10-11 01:23:51
我刪除了不必要的列並更改了表名以反映查詢。希望我的編輯不是實質性的或被認爲是無效的。 – jpw 2014-10-11 01:36:45