我编写了一个查询来获取表A中的代码,该代码在表B中不是相同的ID。我在查询中硬编码了ID,我想知道如何获得所有ID的所需输出,而不仅仅是539。以下是查询
SELECT
a.code
FROM
A
WHERE
a.code NOT IN(
SELECT
b.code
FROM
B b
WHERE
b.ID='539'
AND b.status <> 'D')
AND
(a.id='539')
AND
(a.status <> 'D')
答案 0 :(得分:2)
将表与LEFT联接一起加入,然后仅选择表B中没有相应记录的记录
SELECT a.code
FROM A
LEFT JOIN B
ON a.ID = b.ID
AND a.code = b.code
AND b.status <> 'D'
WHERE a.status <> 'D'
AND b.code IS NULL
答案 1 :(得分:0)
我认为你应该能够删除你正在查询的id,你应该得到一切。
SELECT
a.code
FROM
A
WHERE
a.code NOT IN(
SELECT
b.code
FROM
B b
AND b.status <> 'D')
and AND a.status <> 'D'