私は2つのテーブル:orders
とoldorders
を持っています。どちらも同じように構成されています。私はこれらの2つのテーブルを結合し、別のテーブルに結合したい:users
。以前は私はorders
とusers
しか持っていませんでしたが、私は現在のコードにoldorders
をひねりそうとしています。テーブルを2つのテーブルの結合に結合しますか?
SELECT u.username, COUNT(user) AS cnt
FROM orders o
LEFT JOIN users u
ON u.userident = o.user
WHERE shipped = 1
AND total != 0
GROUP BY user
これは、すべてのユーザーがテーブルorders
で行った非ゼロの総注文数を見つけたが、私はorders
とoldorders
の労働組合でこれにしたいです。どうすればこれを達成できますか?このため
create table orders (
user int,
shipped int,
total decimal(4,2)
);
insert into orders values
(5, 1, 28.21),
(5, 1, 24.12),
(5, 1, 19.99),
(5, 1, 59.22);
create table users (
username varchar(100),
userident int
);
insert into users values
("Bob", 5);
出力は次のとおりです。
create table oldorders (
user int,
shipped int,
total decimal(4,2)
);
insert into oldorders values
(5, 1, 62.94),
(5, 1, 53.21);
二つのテーブルの組合で実行し、予想される出力は次のとおりです:
+----------+-----+
| username | cnt |
+----------+-----+
| Bob | 6 |
+----------+-----+
+----------+-----+
| username | cnt |
+----------+-----+
| Bob | 4 |
+----------+-----+
oldorders
テーブルを作成した後
Jusどこに、どのようにそこに組合を靴ひねりするか分からない。 orders
でクエリを実行する代わりに、orders union oldorders
にある必要があります。 2つのテーブルの間に交差がないと仮定することができます。
の順序を変更する必要があります、私はそれについてのドキュメントを見つけることができませんが。 – kiwicomb123