1

以下のクエリは現在、アイテムごとに合計を表示していますが、私が望むのは、発注書のすべてのアイテムの小計を計算することです。

ありがとう

出力は次のようになります。

POID Item ItemQTY ItemPrice  ItemTotal   SubTotal
1      A       1     15.00       15.00      80.50
1      B       1     25.50       25.50      80.50
1      C       2     20.00       40.00      80.50
2      X       6      5.00       30.00      50.00
2      Y       2     10.00       20.00      50.00

関係:purchase_order 1 - N purchase_order_items

SELECT
purchase_order.id AS POID,

purchase_order_items.description AS Item,
purchase_order_items.quantity AS ItemQTY,
purchase_order_items.price AS ItemPrice,
(purchase_order_items.quantity*purchase_order_items.price) AS ItemTotal

/* Here, Subtotal should be calculated and displayed */

FROM purchase_order
INNER JOIN purchase_order_items ON purchase_order.id = purchase_order_items.fk_purchase_order

MySQLで小計と小計と SQLを見つけましたが、クエリに適用できませんでした。

4

3 に答える 3

1

試す

SELECT i.fk_purchase_order POID,
       description         Item,
       quantity            ItemQTY,
       price               ItemPrice,
       quantity * price    ItemTotal,
       s.subtotal          SubTotal
  FROM purchase_order_items i JOIN
(
  SELECT fk_purchase_order, SUM(quantity * price) subtotal
    FROM purchase_order_items
   GROUP BY fk_purchase_order
) s ON i.fk_purchase_order = s.fk_purchase_order

出力:

| | ポイド | アイテム | アイテムの数量 | ITEMPRICE| 項目合計 | 小計 |
-------------------------------------------------- ----------
| | 1 | あ | 1 | 15 | 15 | 80.5 |
| | 1 | ビ | 1 | 25.5 | 25.5 | 80.5 |
| | 1 | シー | 2 | 20 | 40 | 80.5 |
| | 2 | X | 6 | 5 | 30 | 50 |
| | 2 | よ | 2 | 10 | 20 | 50 |

これがSQLFiddleのデモです

于 2013-06-27T09:47:34.630 に答える