我有表1
------ ----------------
| ppl | action |
------ ----------------
| p2 | Run |
| p1 | Jump |
| p3 | Walk |
------ ----------------
和表2
------ ----------------
| ppl | action |
------ ----------------
| p1 | Eat |
| p2 | Look |
| p3 | Walk |
------ ----------------
首先我想得到兩張表:差異。差異表將是表 2 中的任何 ppl 和操作對,但不在表 1 中。
------ ----------------
| ppl | action |
------ ----------------
| p1 | Eat |
| p2 | Look |
------ ----------------
在那里實作的sql命令是什么?有人將我指向上一篇文章: 僅當值不存在時才回傳行
不幸的是,這篇文章只討論了基于一列的過濾。我很難將它概括為兩列,因為 where 子句不會同時占用兩列。因此,請與我裸露并引導我完成對兩列邏輯 AND 解決方案的過濾。
謝謝!
uj5u.com熱心網友回復:
您可以在此處使用存在邏輯:
SELECT t2.ppl, t2.action
FROM table2 t2
WHERE NOT EXISTS (SELECT 1 FROM table1 t1
WHERE t1.ppl = t2.ppl AND t1.action = t2.action);
左反連接是另一種選擇:
SELECT t2.ppl, t2.action
FROM table2 t2
LEFT JOIN table1 t1
ON t1.ppl = t2.ppl AND t1.action = t2.action
WHERE t1.ppl IS NULL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/405630.html
標籤:
