Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql &引用;组函数的使用无效“;在重复密钥更新时插入_Mysql_Insert_Sql Update - Fatal编程技术网

Mysql &引用;组函数的使用无效“;在重复密钥更新时插入

Mysql &引用;组函数的使用无效“;在重复密钥更新时插入,mysql,insert,sql-update,Mysql,Insert,Sql Update,我有问题,我想插入和更新我的查询,而它是重复的,但它说“无效使用组函数” 我已经运行了我唯一的“Select”语句,没有出现“组函数的无效使用”之类的问题 这是我的全部代码: INSERT INTO tbl_biir_aktual(cabang_kode, periode_thn, periode_bln, pending_pp_volume, pending_pp_value) SELECT a.cabang_kode, YEAR(a.tanggal) AS tahun, MONTH(a.ta

我有问题,我想插入和更新我的查询,而它是重复的,但它说“无效使用组函数”

我已经运行了我唯一的“Select”语句,没有出现“组函数的无效使用”之类的问题

这是我的全部代码:

INSERT INTO tbl_biir_aktual(cabang_kode, periode_thn, periode_bln, pending_pp_volume, pending_pp_value)
SELECT a.cabang_kode, YEAR(a.tanggal) AS tahun, MONTH(a.tanggal)AS bulan, 
    SUM(a.qty_pending*a.unit_barang)AS tonase_pending, SUM(a.value_pending)AS value_pending 
FROM tbl_order a,
    (SELECT b.cabang_kode, MAX(b.tanggal)tanggal
    FROM tbl_order b
    GROUP BY b.cabang_kode, YEAR(b.tanggal), MONTH(b.tanggal)) AS max_cabang
WHERE max_cabang.cabang_kode = a.cabang_kode AND max_cabang.tanggal = a.tanggal
GROUP BY cabang_kode, YEAR(tanggal), MONTH(tanggal)
ON DUPLICATE KEY
UPDATE pending_pp_volume = SUM(a.qty_pending*a.unit_barang), pending_pp_value = SUM(a.value_pending);
那么, 嘿,我刚找到这个

我试过了,成功了。
Tq Edper以获取您的评论….

请尝试在更新中使用别名:

UPDATE SET pending_pp_volume = tonase_pending, pending_pp_value = value_pending
此外,与使用与现有字段名相同的名称(如
value\u pending
)相比,为聚合使用别名更明智。也可以将其更改为TotalValuePending,以便:

UPDATE SET pending_pp_volume = tonase_pending, pending_pp_value = TotalValuePending

Tq但我也试过,它在“字段列表”中说“未知列‘tonase_pending’”,它解决了组问题,但它找不到我的“SUM(a.qty_pending*a.unit_barang)的别名字段作为tonase_pending“谢谢你的帮助我编辑了我的帖子,现在一切都完成了。”。你只需要用“@”我猜是这样的_pending@Agata:很高兴你找到了解决办法
@namehere
是一个变量,在本例中,您将聚合函数的结果放入名为
@tonase\u pending
的变量中。很好,您找到了解决方案。是的,我应该这么做!
UPDATE SET pending_pp_volume = tonase_pending, pending_pp_value = TotalValuePending