1

これに対する解決策を見つけることができなかったことに驚いています。テーブルがあります

注文番号 | 製品ID | 価格
   1 | 1 | 1.00
   1 | 2 | 2.00
   2 | 3 | 3.00
   2 | 4 | 4.00
   3 | 1 | 5.00
   3 | 4 | 6.00

productID=1 を含むすべての注文の収益の合計を取得したいと考えています。この例の結果は 1+2+5+6 = 14 になります。

これを達成するための最良の方法は何ですか?

現在、私が持っている最善の解決策は、2 つのクエリを実行することです。
1 -SELECT orderID FROM table WHERE prodID=$prodID

2 -SELECT price FROM table WHERE orderID=[result of the above]

これは機能しましたが、単一のクエリを使用することを強くお勧めします。

4

5 に答える 5

1

探している結果が得られるクエリを次に示します。

SELECT OrderNum, SUM(PRICE) as TotalPrice
FROM MyTable AS M
WHERE EXISTS (SELECT 1 -- Include only orders that contain product 1
              FROM MyTable AS M2 
              WHERE M2.OrderNum=M.OrderNum AND M2.ProductId=1)
GROUP BY OrderNum
于 2013-08-09T14:46:30.183 に答える
0
select sum(price) as total_price where product_id=[enter here id];
于 2013-08-09T14:44:19.753 に答える
0
SELECT SUM(t1.price) FROM tableName t1 WHERE 
t1.orderId IN (SELECT t2.orderId FROM tableName t2 WHERE 
                t2.productId=productIdYouWant)

この仕組みについてさらに詳しい情報が必要な場合は、お気軽にお問い合わせください。

于 2013-08-09T14:52:44.647 に答える