1
以下のクエリがあります。 SOFTWARE_DEVELOPMENT_CYCLEには複数の行がありますが、最新のものには興味があります。Oracle - リファクタリングのサブクエリmax()
サブクエリを使用しないようにクエリを書き直したいと思います。私はDENSE_RANK LAST ORDERY BYで試してみましたが、無駄です。
誰かにアドバイスできますか?ありがとうございました。
SELECT SOF.VENDOR,
SOF.NAME,
LAN.LANGUAGE,
SOF.VERSION,
SDC.STATUS,
SDC.SOF_DC_ID
FROM SOFTWARE SOF
JOIN SOFTWARE_LANGUAGES SL
ON (SL.SOF_SOF_ID = SOF.SOF_ID)
JOIN LANGUAGES LAN
ON (SL.LAN_LAN_ID = LAN.LAN_ID)
JOIN SOFTWARE_DEVELOPMENT_CYCLE SDC
ON (SDC.SOF_LAN_SOF_LAN_ID = SL.SOF_LAN_ID)
WHERE SDC.SOF_DC_ID IN (SELECT MAX(SDC2.SOF_DC_ID)
FROM SOFTWARE_DEVELOPMENT_CYCLE SDC2
WHERE SDC2.SOF_LAN_SOF_LAN_ID = SL.SOF_LAN_ID)
ORDER BY SOF.VENDOR,
SOF.NAME,
LAN.LANGUAGE,
SOF.VERSION;
ありがとうございます。それをどうやって決めるのかあなたのプロセスを説明できますか? – retrodev