gpt4 book ai didi

Mysql只有满足条件才插入

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:17 27 4
gpt4 key购买 nike

好的,我想做的就是这个。如果我插入的金额加上列的总和不超过我的值,例如 112,我只想插入。我只总结一个发票金额,这是销售发票 ID 的来源。所以我要添加一个20 英镑。

所以我基本上需要一个查询,它说如果金额+“列的总和”小于或等于总量,则插入金额。

这是我的表格布局

sipID|SalesInvoice_id|Date|Amount
1|116|07/11/2017|2|
2|115|07/11/2017|88|
3|116|07/11/2017|22|
7|115|07/11/2017|22|

所以我认为 INSERT SELECT 可能会起作用,所以我开始让 SELECT 查询首先起作用,这是我的工作选择查询

SELECT SUM(`Amount`) FROM `salesinvoice_payments`
GROUP BY `SalesInvoice_id` HAVING SUM(`Amount`)+20 <= 112 AND `SalesInvoice_id`=115

基本上,目前我正在硬编码我希望添加的数量,即 20。那么这个 select 语句在做什么。只有当 SUM(Amount)+20 小于或等于 112(我的总数)时,它才会得到一个值。这很好用。

回到我最初的问题。我只想在条件为真时插入。我似乎无法获得正确的格式来使其工作,例如

INSERT INTO `salesinvoice_payments` (`Amount`)VALUES (20)
SELECT SUM(`Amount`) FROM `salesinvoice_payments`
GROUP BY `SalesInvoice_id` HAVING SUM(`Amount`)+20 <= 100 AND `SalesInvoice_id`=115

最佳答案

INSERT INTO ... SELECT 没有 VALUES 语句。

查询

INSERT INTO `salesinvoice_payments` (`Amount`)
SELECT 20 FROM `salesinvoice_payments`
GROUP BY `SalesInvoice_id` HAVING SUM(`Amount`) + 20 <= 100 AND `SalesInvoice_id`= 115

关于Mysql只有满足条件才插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47179459/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com