サブクエリをwhere句のメインクエリに参加させることに本当に問題があります。フィールドを明示的に定義するときに働くOracle SQL - ネストされたサブクエリがメインクエリに参加していません
問合せ:
SELECT m.field1, m.field2, m.field3, m.myfield, etc etc
(SELECT aa.daysfromprev12 FROM(
(SELECT subsubm.myfield, MAX(subsubm.date_to)-(SELECT MAX(add_months(to_date(subsubsubm.date_from), -12)) FROM maintable subsubsubm WHERE subsubsubm.myfield= subsubm.myfield) AS daysfromprev12,
row_number() OVER (ORDER BY (MAX(subsubm.date_to)-(SELECT MAX(add_months(to_date(subsubsubm.date_from), -12)) FROM maintable subsubsubm WHERE subsubsubm.myfield= subsubm.myfield)) DESC) rn
FROM maintable subsubm
WHERE subsubm.myfield = '123456'
GROUP BY subsubm.myfield, subsubm.absence_id) aa)
where aa.myfield = '123456' and aa.rn = 2)
AS dayss
FROM maintable m
where m.myfield = '123456'
がどのように私はあなたのSQLで同じテーブルにあまりにも多くのコールがありますが、メインクエリ= m.myfield
あなたがしようとしていることを説明してください。ロジックを表現して動作させる方法はおそらくあります。 –
submubm.myfield = subm.myfield'ではsubm(行7)を使用しますが、これはクエリの最後に定義します(行8)。私はそれが可能な場合は、Oracleで可能性があるかどうかわからない –
@JanSršeňは、それ以外の質問にこれを何度も何度もやりました。 – Matt