いいえ、これはこれです。 私は挿入したい金額だけを挿入したいだけで、列の合計が私の金額(例えば112)を超えていない場合にのみ挿入したいと思います。私は売上請求書IDが入っている請求書金額を合計しています。 £20の額。条件が満たされた場合に限り、Mysqlを挿入します。
だから、私は基本的には、 と言っている質問が必要です。金額+ "列の合計"が総量よりも小さいか等しい場合、金額を挿入します。だからここ
が私のテーブルレイアウトが
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|
ですだから私はので、私はSELECTクエリが最初に動作するようになって始めて、ここで私の作業選択クエリが
SELECT SUM(`Amount`) FROM `salesinvoice_payments`
GROUP BY `SalesInvoice_id` HAVING SUM(`Amount`)+20 <= 112 AND `SalesInvoice_id`=115
あるINSERT SELECTはうまくいくかもしれないと思いました基本的に現時点では、追加する金額は20になるようにハードコーディングしています。 この選択ステートメントの処理内容は次のとおりです。 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'書なしです。 https://dev.mysql.com/doc/refman/5.7/en/insert-select.html –
はい、selectはwhere句のように使用されています。条件が満たされたら値20を挿入したいと思います。私はそれをどのようにレイアウトするのかは分かりませんが、私はこれまでに取り組んできたものを入れました。私は間違っているクエリーを知っているが、それを正しく置く方法はわからない。 –
私は何がうまくいくのか答えを投稿しました。 –