0

いくつかの割引が初期値から削除された後、製品の値を取得するクエリを作成しようとしています。

これは私がこれまでに持っているものの単純化されたバージョンです:

SELECT
p.price
GROUP_CONCAT(d.amount) AS discounts
FROM products p
LEFT OUTER JOIN discounts d
ON d.product_id = p.id
GROUP BY p.id

ここで、discounts.amountは10進値です。

編集:たとえば、値がそれぞれ10と15の2つの対応する割引があり、初期製品価格が50の場合、計算は25を返します。

とにかく、必要な計算を実行できるクエリ内にありますか?

アドバイスをいただければ幸いです。

ありがとう。

4

1 に答える 1

1

SUM()メソッドがあります:

SELECT p.price,
       p.price - COALESCE(SUM(d.amount), 0) as discounted_price,
       GROUP_CONCAT(d.amount) AS discounts
FROM products p
LEFT OUTER JOIN discounts d
ON d.product_id = p.id
GROUP BY p.id
于 2011-05-27T15:36:03.383 に答える