【发布时间】:2012-10-06 03:36:45
【问题描述】:
我写了这个查询,但它给了我一个错误:
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