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。以下是受支持的最旧操作系统版本 (V5R4) 的SQL 参考。

在没有看到错误消息的情况下,看起来 HAVING 子句可能是问题所在。您不需要所有的括号,并且主机变量用前导冒号指定。

HAVING FPR500_SFFD.POL_ID = :Pol_ID

你真的想按数量分组吗?SELECT 子句中没有引用它们...

于 2013-01-23T21:07:40.273 回答