Usep10:
私はそれらの両方の関係を持っていない2つのテーブルを持っています。
Table of income
Id Category Nominal Description Date
---- -------- -------- -------- --------
1 ADD 10000 Q1 2020-03-05
2 DD 15000 Q2 2020-05-11
3 PAD 5000 Q3 2020-08-10
Table of outcome
Id Category Nominal Description Date
---- -------- -------- -------- --------
1 ADD 7000 Q1 2020-03-20
2 DD 10000 Q2 2020-06-02
3 PAD 2000 Q3 2020-08-28
だから、私は、四半期ごとの結果グループからの名目で収入から公称の引き算をしたいです。
ここに私のクエリは次のとおりです。
CREATE view Total AS
SELECT QUARTER(outcome.date) AS Qperiod, income.nominal-outcome.nominal AS remain
FROM income, outcome
GROUP BY YEAR(outcome.date), QUARTER(outcome.date)
この結果は、すべての結果の名目によって収入テーブル減算のその最初の行を記述し、以下に示します。
Qperiod remain
---- --------
1 3000
2 0
3 8000
誰の助けに私はこの問題を解決するにはできますか?
ニック:
あなたは何も持っていないJOIN
の各行はので、あなたのクエリで条件をincome
のすべての行にマッチしますoutcome
。あなたは何の集計機能を持たないので、これは効果的に、ランダム行からという意味outcome
の各行から減算されますincome
。あなたは近代的、明示的に使用すべきJOIN
適切に構文とプットのJOIN
年と四半期は、両方のテーブルに同じであるということです条件:
CREATE view Total AS
SELECT QUARTER(outcome.date) AS Qperiod, income.nominal-outcome.nominal AS remain
FROM income
JOIN outcome ON YEAR(outcome.date) = YEAR(income.date)
AND QUARTER(outcome.date) = QUARTER(income.date)
GROUP BY YEAR(outcome.date), QUARTER(outcome.date)
出力:
Qperiod remain
1 3000
2 5000
3 3000