items
のリストはorders
に属します。各item
はfee_percentage
フィールドを持ちます。 items
の合計は、表のtotal_price
です。最終的に関連付けられたレコードを更新する方法
達成したいことはありますか? 最後に関連付けられた項目のfee
フィールドを更新したいとします。
_________________________ __________________________________________
| order ID | total_price| | id | order_id | fee_percentage | fee |
------------------------- ------------------------------------------
| 334 | 425 | | 1 | 334 | 50 | 212 |
# The `fee` should be 213 => | 2 | 334 | 50 | 212 |
あなたがitems
の合計が、私は最後の項目fee
に残りの料金を追加したい424になります見ることができるように。 (したがって、アイテムid2の料金は213でなければなりません)。
お願いします。
は、これは私がこれまで
UPDATE items AS i
LEFT JOIN orders AS o ON o.order_id = b.order_id
LEFT JOIN (
SELECT order_id, SUM(fee) AS sum_fee
FROM items
GROUP BY order_id
WHERE deleted = 0
) AS b1 ON b1.order_id = b.order_id
SET b.fee = b.fee + (o.total_price - b1.sum_fee)
WHERE b.deleted = 0;
私は以前のクエリに添付するか、受注レコード内のlast_item_idを更新しようとしています書かれているが、それは動作しませんものです。
LEFT JOIN (
SELECT order_id, MAX(id) AS b_last_item_id
FROM items
WHERE deleted = 0
GROUP BY order_id
) AS b1 ON b1.order_id = b.order_id
http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-veryを参照してください。 -simple-sql-query – Strawberry