複雑なデータベースでクエリを実行しています:
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のいずれかを使用すると、そのように 2 つの別々のクエリを実行しても問題なく動作します。strfldvar = 'BROKEN_ARROW' の場合のエラー メッセージは次のとおりです。
ORA-01013: ユーザーが現在の操作の取消をリクエストしました
このエラー メッセージが表示される前に、コンピューターはおそらく 2 分間深く考えます。
ここで何が間違っていますか?
参考までに、2 つの別々の実行のフィールドの名前を調べたところ、同じように見えます。つまり、出力のスキーマは両方で同じに見えます。しかし、それが重要な場合、それらが同じであると100%確信しているわけではありません
ご協力いただきありがとうございます