0
私は、テーブルからいくつかの日付をフェッチするクエリを作成し、最新のものを決定するためにいくつかの操作を行い、次に7過去15年のうちに、何をすべきか教えてください。問題は私がそれをどうやってどうやって得ることができないかということです。私は周りを見回し、私はSELECT内でSELECTを使用する必要があるかもしれないが、それを把握していないようだ。私の文法はポイントや何かにはないと思うが、テーブルやビューは存在しない。使用選択内の選択2計算列を使用するOracle SQL
SELECT fact.NO_CONTRAT_OFFICIEL AS noContrat,
Case When to_date(fact.VSTDTCHG, 'yyyymmdd') < to_date(fact.VSTDICHK, 'yyyymmdd') And to_date(fact.VSTDTCHG, 'yyyymmdd') < to_date(fact.VSTDIFIN, 'yyyymmdd') Then to_date(fact.VSTDTCHG, 'yyyymmdd')
When to_date(fact.VSTDICHK, 'yyyymmdd') < to_date(fact.VSTDTCHG, 'yyyymmdd') And to_date(fact.VSTDICHK, 'yyyymmdd') < to_date(fact.VSTDIFIN, 'yyyymmdd') Then to_date(fact.VSTDICHK, 'yyyymmdd')
Else to_date(fact.VSTDIFIN, 'yyyymmdd')
End As TheMin,
Case When fact.NO_CONTRAT_OFFICIEL = virage.NO_CONTR Then sysdate - 15*365.25
Else sysdate - 7*365.25
End As Operation,
(SELECT NO_CONTRAT_OFFICIEL, Operation, TheMin,
Case When TheMin < Operation Then 'yes'
Else 'no'
End As yesno
From XC4DSAV facts) as yesnotable
FROM XC4DSAV fact
JOIN yesnotable T1
ON fact.NO_CONTRAT_OFFICIEL = T1.NO_CONTRAT_OFFICIEL
FULL OUTER JOIN STAR.EVENEMENT star
ON fact.NO_CONTRAT_OFFICIEL = star.NO_CONTRAT_DIFFUSE
JOIN VIRAGE.CONTRAT virage
ON fact.VSTNOCNT_VIRAGE = virage.NO_CONTR
WHERE fact.NO_CONTRAT_OFFICIEL IS NOT NULL;
ありがとうございました。本当に正解ですが、それは私に多くの助けをしました。乾杯 – Markasius