[英]Subtract rows of one table from another table
我在MySql中有兩個表,其中包含類似這樣的記錄。
table-A table-B
--------------------- ---------------------
|prod_id | cat_id | |prod_id | cat_id |
--------------------- ---------------------
|1 |1 | |1 |1 |
|2 |1 | |2 |1 |
|3 |1 | |3 |1 |
|4 |1 |
|5 |1 |
現在,我想比較這兩個表,我的預期結果是。
---------------------
|prod_id | cat_id |
---------------------
|4 |1 |
|5 |1 |
我在sql中檢查了有關“ EXPECT”,“ MINUS”的信息,但MySql中不支持它們。
有誰能夠幫助我? 感謝是前進。
表A中的數據
SELECT * FROM TableA;
+---------+--------+
| prod_id | cat_id |
+---------+--------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
+---------+--------+
3 rows in set (0.00 sec)
表B中的數據
SELECT * FROM TableB;
+---------+--------+
| prod_id | cat_id |
+---------+--------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
+---------+--------+
5 rows in set (0.00 sec)
結果查詢
SELECT b.*
FROM TableB b
LEFT JOIN TableA a
ON a.prod_id = b.prod_id AND a.cat_id = b.cat_id
WHERE a.prod_id IS NULL;
+---------+--------+
| prod_id | cat_id |
+---------+--------+
| 4 | 1 |
| 5 | 1 |
+---------+--------+
2 rows in set (0.00 sec)
sqlfiddle相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.