查詢可以說我有表名爲訂單SQL查詢幫助:需要編寫下面描述的問題
id qty1 qty2 qty3
-----------------------------------
1 1 2 3
2 0 1 0
3 3 2 1
結果查詢的應該是如下(注意數量的總和逐列的數量)
productID qty
----------------
1 4
2 5
3 4
請幫我查詢嗎?
查詢可以說我有表名爲訂單SQL查詢幫助:需要編寫下面描述的問題
id qty1 qty2 qty3
-----------------------------------
1 1 2 3
2 0 1 0
3 3 2 1
結果查詢的應該是如下(注意數量的總和逐列的數量)
productID qty
----------------
1 4
2 5
3 4
請幫我查詢嗎?
它看起來像一個非常奇怪的桌子設計,你想要的結果更奇怪。但是,這應該這樣做:
SELECT 1 AS productID, SUM(qty1) AS qty FROM Orders
UNION
SELECT 2 AS productID, SUM(qty2) AS qty FROM Orders
UNION
SELECT 3 AS productID, SUM(qty3) AS qty FROM Orders
,如果您指定SQL(PostgreSQL的,MySQL和甲骨文等)的服務器的類型比我也許能產生更整潔查詢。
我希望這只是錯字你不具備的ProductID在訂單....
SELECT productID, (qty1 + qty2 + qty3) AS qty FROM Ordrers .....
SELECT qty1 + qty2 + qty3 FROM Orders GROUP BY id
select id as product_id, (qty1 + qty2 + qty3) as qty from orders;
用途:
SELECT o.productid,
COALESCE(SUM(o.qty1), 0) + COALESCE(SUM(o.qty2), 0) + COALESCE(SUM(o.qty3), 0) AS qty
FROM ORDERS o
GROUP BY o.productid
ORDER BY o.productid
假設一個數量#列的值可能爲NULL,這要求隔絕您的查詢返回NULL,因爲某些數據庫不喜歡將NULL(一個不存在的值的佔位符)添加到一個有效的整數值。先測試後省略COALESCE
,或確認列不可空。
您的表格和查詢結果之間沒有明確的關係。你輸入了正確的輸出嗎?此外,將其標記爲家庭作業。 – 2011-03-21 01:47:27