PHPとMySQLを使用しています。
数量という名前のテーブルがあります。中には商品名、商品価格、商品数量の記録があります。これらに加えて、日付と位置に基づいて最後のレコードを選択するのに役立つ他のいくつかの方法と、価格という名前のフィールドの GROUP BY があります。これは、同じ製品に対して異なる価格で異なる数量があるためです。そのため、現在、次のように製品固有の価格と数量を選択しています。
SELECT `price`,`quantity` FROM (SELECT `price`,`quantity` FROM `quantity` WHERE `product_name` = 'DELL' ORDER BY `date` DESC, `position`) AS `Actions` GROUP BY `price`
次のようなデータを取得する必要があるため、このクエリは回避策です。
product_name | price | quantity
DELL | 100 | 30
DELL | 120 | 10
DELL | 130 | 2
これらのような複数のレコードがあり、それらの最新のものを取得する必要があると仮定します。とにかく、このクエリから次のことを行う必要があります。別の製品の数量と合計した数量が 35 に等しいレコードを選択する必要があります。したがって、クエリを使用することで、30 個の製品を取得できるため、2 行目で停止する必要があることがわかります。価格が 100 ドルの商品と、価格が 120 の明細行 2 からの別の 5 つの商品が付属していました。その後、更新情報を入力する必要があります。したがって、新しいデータは次のようになります。
product_name | price | quantity
DELL | 100 | 0
DELL | 120 | 5
DELL | 130 | 2
どうすればこれを達成できますか?