在你的 SQL 查询中,使用了函数 ISNULL(),但是在函数调用中参数的数量不正确。ISNULL() 函数只接受两个参数,第一个参数是要检查是否为 NULL 的表达式,第二个参数是在第一个参数为 NULL 时返回的替代值。\n\n在你的查询中,你试图使用 ISNULL() 函数来替代查询结果中的 NULL 值。然而,你在函数调用中使用了额外的参数,导致报错。\n\n要解决这个问题,你需要修改查询中的 ISNULL() 函数的使用方式。以下是修改后的查询:\n\nINSERT INTO wg_purchase_V001 (\n PID,\n Pc_GXName,\n Pc_GXValue,\n Pc_Order,\n Pc_GXTotalValue,\n Pc_IsAuto,\n Pc_GxSort,\n Pc_GxPrice,\n Pc_GxNum,\n Pc_IsCheck,\n Pc_GXValue1,\n Pc_GXMan,\n Pc_LIDS,\n Pc_IsCf\n)\nSELECT\n 653,\n Pl_GxSort1,\n ROUND(SUM(IFNULL(pl_GXValue, 0)), 1) AS pl_GXValue,\n MAX(pl_order) pl_order,\n ROUND(SUM(IFNULL(pl_GXValue, 0)), 1),\n 0,\n Pl_GxSort1,\n ROUND(SUM(IFNULL(pl_GXValue, 0)), 1),\n 1,\n 0,\n ROUND(SUM(IFNULL(pl_GXValue, 0)), 1),\n '欧国冬',\n '6515',\n 1\nFROM wg_purchaselist_V001\nWHERE\n pid = 653\n AND Pl_GxSort1 = '06木工'\n AND (PLID IN (6515) OR Pl_GxSort3 = '欧国冬')\nGROUP BY Pl_GxSort1;\n\n在修改后的查询中,不再使用 ISNULL() 函数来替代 NULL 值。相反,我们直接在 SELECT 语句中使用 ROUND() 函数来保留小数位数,并在 IFNULL() 函数中提供替代值 0。这将确保在计算 SUM() 函数之前,NULL 值已被替换为 0。


原文地址: https://www.cveoy.top/t/topic/pK6N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录