0

次のように書くと、クエリは期待どおりに実行されます。

SELECT id, day2.count - day1.count AS diff
FROM day1 NATURAL JOIN day2;

しかし、私が本当に欲しいのは、正しい結合です。私が書くとき、

SELECT T1.id, day2.count - day1.count AS diff
FROM day1 RIGHT JOIN day2 AS T1
ON day1.id = day2.id

フィールド リストに day2.count を認識できないと表示されます。(また、2番目のクエリで RIGHT OUTER JOIN にするべきかどうかはわかりませんが、この場合も結果は同じです。)

シンプルなものが欠けているような気がします。

編集:定義は次のとおりです。

1日目

id bigint(8) NOT NULL
count bigint(21) NOT NULL

2日目

(1日目と同じ)

day1 にはなかった新しい ID が day2 テーブルにある可能性があるという考えです。

4

2 に答える 2