use*_*411 2 oracle select except
有几列和表,如下:
注意:使用的元素名称仅用于说明目的.
SELECT T.col1
FROM Table1 T
WHERE NOT EXISTS (
(SELECT * FROM Table2)
EXCEPT (SELECT TT.col1
FROM TableTT TT
WHERE TT.col2 = T.col2)
);
Run Code Online (Sandbox Code Playgroud)
错误:缺少右括号,但括号似乎匹配.
但是,我确实知道它实际上与括号无关.我怀疑错误是在EXCEPT子句中的某个地方.可能导致错误的原因是什么?
EXCEPTOracle中没有运营商.请MINUS改用.参考:这里
在您的查询中,"EXCEPT"一词最有可能被视为(SELECT * FROM Table2)子查询的表别名.
更新:
对提供的数据结构的完整查询将如下所示:
SELECT T.col1
FROM Table1 T
WHERE NOT EXISTS
((SELECT col1 FROM Table2)
MINUS
(SELECT TT.col1 FROM TableTT TT WHERE TT.col2 = T.col2));
Run Code Online (Sandbox Code Playgroud)
请注意,我已更改*为col1for Table2- 如果您从那时选择单个INT列TT.col1,TT则还应从中选择单个INT列Table2.