Oracle WHERE 子查询中的多个列"cx_Oracle.DatabaseError: ORA-00920: invalid relational operator"



我想从表中选择多个列,其中使用(子查询(中的 WHERE(COLUMN1、COLUMN2、COLUMN3(从子查询中选择多个列

SELECT * FROM ORDER_DETAIL
WHERE (ORDER_ID, ACTION_SEQUENCE, DETAIL_SEQUENCE)
IN (
SELECT ORDER_ID, ACTION_SEQUENCE, DETAIL_SEQUENCE
FROM ORDER_DETAIL
WHERE ORDER_ID=314239027
);

但一个例外引发了

cx_Oracle.数据库错误: ORA-00920: 无效的关系运算符

就甲骨文而言,没关系。但是,查询本身没有多大意义。它等于(在我的朋友的帮助下(

select *
from order_detail
where order_id = 314239027
and action_sequence is not null     -- if those columns ...
and detail_sequence is not null     -- ... can contain nulls

所以我建议你改用它。

最新更新