以下是我正在使用的更新查询"关键字' group'"附近的语法不正确错误信息。
update PORTFOLIO set p.PF_F_FREE4 = sum(CASE
WHEN c.FIXING_EXPR = 1 THEN
i.AMT_AFTER_XACT_DAT/(q.CUR_RATE)
ELSE
i.AMT_AFTER_XACT_DAT*(q.CUR_RATE)
END)
from PORTFOLIO p, ID_POS_CASH i, CURRENCY c, ID_CUR_QUOTE q
where p.PF_COD = i.PF_COD and i.CUR_COD = c.CUR_COD
and c.CUR_COD = q.CUR_COD and p.PF_C_FREE20 NOT IN ( 'NO ACI PARTICIPATION', NULL)
and i.SETTLE_DAT = (select POS_MODIFIED_TO from ID_BAT_DAT)
and (i.AMT_AFTER_XACT_DAT <> 0 or i.AMT_CURRENT<>0)
group by i.CUR_COD having count(i.CUR_COD) >= 1
有人可以帮我解决上述问题吗?
答案 0 :(得分:0)
如果我没有弄错,那么您的问题是在GROUP BY
声明中同时包含HAVING
和UPDATE
条款。
我认为答案是使用内联Select语句或使用CTE来解决您的问题。
以下是类似问题(和解决方案)的链接: Update with a Join, Group By, and Having