我正在对复杂的数据库进行查询:
SELECT *
FROM
table1,
table2,
table3,
table4,
table5,
table6,
table7,
table8
WHERE
a = b and
c = d and
e = d and
(
(strfldvar = 'BROKEN_ARROW' AND x = g)
OR (strfldvar = 'BROKEN_BOX' AND y = g)
) and
f = h and
i = j
仅在strfldvar = 'BROKEN_BOX'时有效,而在strfldvar = 'BROKEN_ARROW'时无效。当我更换
(
(strfldvar = 'BROKEN_ARROW' AND x = g)
OR (strfldvar = 'BROKEN_BOX' AND y = g)
) and
使用x = g 和或y = g 并且它在两个单独的查询中运行良好。案例strfldvar = 'BROKEN_ARROW'的错误消息是:
ORA-01013: 用户请求取消当前操作
在此错误消息出现之前,计算机会深入思考 2 分钟。
我在这里做错了什么?
仅供参考,我查看了两个单独运行的字段名称,它们看起来相同。我的意思是两者的输出场景看起来是一样的。但我不是 100% 确定它们是相同的,如果这很重要,即
谢谢你的帮助