我写此查询,但它给我一个错误:甲骨文的SQL * Plus EXCEPT ORA-00907:缺少右括号
select c.sid
from catalog c
where exists ((select p.color from parts p)
except (select p2.color from parts p2 where p2.color != 'Red'));
ORA-00907:缺少右括号
,你能告诉我在哪里是不正确的?
目录:
SID PID COST
1 3 .5
1 4 .5
1 8 11.7
2 3 .55
2 8 7.95
2 1 16.5
3 8 12.5
3 9 1
4 5 2.2
4 6 1247548.23
4 7 1247548.23
部分:
PID PNAME COLOR
1 Left Handed Bacon Stretcher Cover Red
2 Smoke Shifter End Black
3 Acme Widget Washer Red
4 Acme Widget Washer Silver
5 I Brake for Crop Circles Sticker Translucent
6 Anti-Gravity Turbine Generator Cyan
7 Anti-Gravity Turbine Generator Magenta
8 Fire Hydrant Cap Red
9 7 Segment Display Green
对于初学者,您的EXISTS子句根本不连接到目录表C.另外,EXCEPT在oracle中被称为MINUS。你可以请你发布你的数据结构和一些示例数据,以及你想要这个查询来完成什么?您可以编辑您的答案以添加此信息。 –
@NWest我添加了信息 ,我想知道只供应红色部分的供应商sid –