我在下面的代码中只尝试用NOT EXISTS替换NOT IN运算符。 但是,它给了我一个"无效的关系运算符错误"。
如何更正此错误?我错过了重要的事吗?请帮忙。
SELECT DISTINCT 'v1',
'v2',
f.apples,
f.bananas,
f.oranges
FROM fruits f
WHERE f.code = 'F1'
AND f.buyer_fruit_code
NOT EXISTS
(SELECT c.color_code
FROM colors c);
答案 0 :(得分:2)
NOT IN
运算符意味着与NOT EXISTS
子句不同的东西。除其他事项外,NOT EXISTS
不是运营商。也许你想要这样的东西:
SELECT DISTINCT 'v1',
'v2',
f.apples,
f.bananas,
f.oranges
FROM fruits f
WHERE
f.code = 'F1'
AND NOT EXISTS (
SELECT c.color_code
FROM colors c
WHERE c.color_code = f.buyer_fruit_code
)
;
答案 1 :(得分:0)
请改为尝试:
SELECT DISTINCT 'v1',
'v2',
f.apples,
f.bananas,
f.oranges
FROM fruits f
LEFT JOIN color_code c ON f.fruit_code=c.color_code
WHERE f.code = 'F1'
AND c.color_code is NULL