我有兩個表格:orders
和oldorders
。兩者的結構都是一樣的。我想將這兩個表結合起來,然後將它們連接到另一個表格:users
。以前我只有orders
和users
,我試圖將oldorders
鎖定到我當前的代碼中。將表連接到兩個表的聯合?
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
上。可以認爲兩個表格之間沒有相交。
的順序小寫字母「O」只是在括號後,似乎讓我的區別,儘管我找不到任何文檔。 – kiwicomb123