销售明细表查询报错
440次浏览
编辑于2018年06月08日 10:32:13
销售明细表,按照以下条件查询后,报错,如下,请老师帮忙处理。QQ352703317,电话 19925468583
查询出现异常。MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,以确保目标行最多与一个源行匹配,也可以使用 GROUP BY 子句对源行分组。
MERGE INTO TMP6BAD7DFA6AC311E89E8642F2E9D upd USING(SELECT tempDetail.FIDENTITYID fentryid, (CASE WHEN T4.FUNITGROUPID = T6.FUNITGROUPID THEN CAST((BD1.FCONVERTNUMERATOR * BD2.FCONVERTDENOMINATOR) AS NUMERIC(23, 10)) ELSE ISNULL(CAST((CAST((CAST((BD1.FCONVERTNUMERATOR * T8.FCONVERTNUMERATOR) AS NUMERIC(23, 10)) * BD2.FCONVERTDENOMINATOR) AS NUMERIC(23, 10)) * T9.FCONVERTDENOMINATOR) AS NUMERIC(23, 10)), -1.0) END / CASE WHEN T4.FUNITGROUPID = T6.FUNITGROUPID THEN CAST((BD1.FCONVERTDENOMINATOR * BD2.FCONVERTNUMERATOR) AS NUMERIC(23, 10)) ELSE ISNULL(CAST((CAST((CAST((BD1.FCONVERTDENOMINATOR * T8.FCONVERTDENOMINATOR) AS NUMERIC(23, 10)) * BD2.FCONVERTNUMERATOR) AS NUMERIC(23, 10)) * T9.FCONVERTNUMERATOR) AS NUMERIC(23, 10)), -1.0) END) frate, ISNULL(T3.FPrecision, 0) fprecision FROM TMP6BAD7DFA6AC311E89E8642F2E9D tempDetail LEFT OUTER JOIN T_BD_MATERIAL TM ON tempDetail.FMATERIALID = TM.FMaterialId LEFT OUTER JOIN T_BD_MATERIALBASE TB ON tempDetail.FMATERIALID = TB.FMaterialId LEFT OUT