OracleのSQLで、ERROR ORA-00907: 右カッコがありません。
久しぶりにOracleのSQLを書いていたのだが、以下のSQLで、
「ERROR ORA-00907: 右カッコがありません。」なんて謎のエラーが出た。
#下記のSQLは実際のSQLではなく、テーブル名や項目名を変え、かつ簡略化するために手動で書き換えてますので タイポとかあったらすみません。 select t.放送日, t.枠CD from Qシート t where t.放送日= '20200114' and トリガ = 'Q' and DT <> '' and (select トリガ from Qシート t1 where t1.放送日= t.放送日 and t1.枠CD = t.枠CD and t1.イベントSEQ = ( select min(イベントSEQ) from Qシート qt where qt.放送日= t.放送日 and d qt.枠CD = t.枠CD and qt.イベントSEQ > t.イベントSEQ order by qt.イベントSEQ ) ) , '') = 'Q' order by t.枠CD, t.イベントSEQ
いや、ちゃんとカッコの整合性は取れてます。足りない右カッコなんてありません!
って、悩んだんだけど、結局、副問い合わせのorder by句がいらなかったんだよね。
まぁ、そりゃそうかって感じなんだけど、何でこんなにわかりにくエラーメッセージなんでしょうね。
おかげで30分ぐらいは損をしてしまった・・・