IntlAir と DomesticAir の 2 つの列を作成しようとしています。データに と呼ばれるブール列があり、 IntlAir は が の場合にInternational
戻り、 DomAir はの場合にその合計を返します。Penalty + SellingFare
International
TRUE
International = FALSE
この金額をDKごとに月ごとに表示したいと思います。
私のコードは次のとおりです。
SELECT data.PostingMonth, data.DK_Number
, (SELECT sum(data.Penalty + data.SellingFare)
FROM data
WHERE data.International = TRUE) AS IntlAir
, (SELECT sum(data.Penalty + data.SellingFare)
FROM data
WHERE data.International = FALSE) AS DomesticAir
FROM data
GROUP BY data.PostingMonth, data.DK_Number
ORDER BY data.PostingMonth;
ただし、出力はすべての dks とすべての月の合計を示し、この値をすべての行に入れています。
誰かが私が間違っていることを教えてもらえますか?