我了解如何检查表 A 中的列 ID 是否存在于表 B 的第 X 列中。
但是有没有办法返回表 A 中所有与表 B 中的单个标识符不匹配的行?
实际上,表 B 包含数百列。
表A:
+------------+------+--------+----------------+
| Title Name | ID | Region | Numeric Column |
+------------+------+--------+----------------+
| Sam | B021 | NA | 5.99 |
| Brook | B026 | EU | 5.99 |
| Harry | B032 | KOR | 10.99 |
+------------+------+--------+----------------+
表 B:
+------+-------+-------+
| SAM | BROOK | HARRY |
+------+-------+-------+
| B021 | B024 | B030 |
| 1 | B025 | B031 |
| 2 | 4 | |
| 3 | | |
+------+-------+-------+
所以在这种情况下,我希望我的查询选择表 A 中的第 2 行和第 3 行。
最佳答案
使用 NOT EXISTS 可能有效。
SELECT *
FROM TableA a
WHERE NOT EXISTS
(
SELECT 1
FROM TableB b
WHERE a.ID IN (b.SAM, b.BROOK, b.HARRY)
);
关于mysql - 如何返回表 A 中的所有列,其中包含数百个 ID 列的表 B 中存在一个 ID 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58809511/