1

次のSQLがあります。ODBC 経由でデータベース FPR500 に接続しましたが、これには時間がかかるため、これをパススルー クエリに変換したいと考えています。私は構文に行き詰まっていますが、誰かが助けてくれることを望んでいますか?

SELECT FPR500_SFFD.POL_ID, FPR500_SFFD.CVG_NUM, FPR500_SFFD.FIA_EFF_DT
FROM   FPR500_SFFD 
INNER JOIN FPR500_SFFC 
 ON  (FPR500_SFFD.FIA_EFF_DT = FPR500_SFFC.LATST_CIA_DT) 
 AND (FPR500_SFFD.CVG_NUM    = FPR500_SFFC.CVG_NUM) AND
     (FPR500_SFFD.POL_ID     = FPR500_SFFC.POL_ID)
GROUP BY FPR500_SFFD.POL_ID, 
         FPR500_SFFD.CVG_NUM, 
         FPR500_SFFD.CFN_INTG_AUNIT_QTY,
         FPR500_SFFD.CFN_DCML_AUNIT_QTY, 
         FPR500_SFFD.FIA_EFF_DT
HAVING (((FPR500_SFFD.POL_ID)=[Pol ID]));
4

1 に答える 1

0

データベースは DB2 for i と呼ばれます。サポートされている OS の最も古いバージョン (V5R4) のSQL リファレンスは次のとおりです。

エラー メッセージが表示されない場合、HAVING 句に問題がある可能性があります。すべての括弧が必要なわけではなく、ホスト変数は先頭のコロンで指定されます。

HAVING FPR500_SFFD.POL_ID = :Pol_ID

本当に数量でグループ化しますか? それらは SELECT 句で参照されていません...

于 2013-01-23T21:07:40.273 に答える