我有 2 个表:
- tbl当前
- tbl历史
在每个表中,我都有一个代表产品 ID 的 ID 字段
- tblCurrent - prodID
- tblHistory - histID
这些 ID(产品 ID)相同。
我正在尝试编写一个 SQL 语句来标识存在于 tblCurrent 但不存在于 tblHistory 中的 ID
...和另一个标识存在于两个表中的 ID 的语句
我试过:
SELECT Distinct prodID
FROM tblCurrent
INTERSECT
SELECT histID
FROM tblHistory
感谢任何帮助
最佳答案
对于 tblCurrent
而不是 tblHistory
中的 ID:
SELECT c.prodId FROM tblCurrent c
LEFT JOIN tblHistory h ON c.prodId = h.histId
WHERE c.prodId IS NULL
对于同时存在的 ID:
SELECT c.prodId FROM tblCurrent c
JOIN tblHistory h ON c.prodId = h.histId
请注意,如果它们确实是 ID(唯一的),那么您不需要 DISTINCT
,因为它们不会有多个行。
关于mysql - SQL - 从两个表中识别匹配值/记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20147064/