2
現在我有3個表SQL查詢替換UNION ALL與加入或東西
訂單:
ID |日期|機器|規劃
GoodPieces:
ID |日期|機器|件| |產品
BadPieces:
ID |日期|機器|件| |產品|組件
查詢的輸出是
日期|機器|計劃| GoodPieces | BadPieces
的實際查詢是類似的東西:
SELECT
data.Date AS Date,
data.Machine AS Machine,
SUM(CASE WHEN data.type = 'Planning' THEN data.value END) AS Planning,
SUM(CASE WHEN data.type = 'GoodPieces' THEN data.value END) AS GoodPieces,
SUM(CASE WHEN data.type = 'BadPieces' THEN data.value END) AS BadPieces
FROM
(SELECT
'Planning' AS Type,
Date AS Date,
Machine AS Machine,
Planning AS Value
FROM Orders
UNION ALL
SELECT
'GoodPieces',
Date,
Machine,
Pieces AS Value
FROM GoodPieces
UNION ALL
SELECT
'BadPieces'
Date,
Machine,
Pieces AS Value
FROM BadPieces) AS data
GROUP BY
Date,
Machine
我的問題,如果是有沒有辦法讓這個3個表
訂單相同的輸出:
ID |日期|機|規劃
GoodPieces:
的OrderID |件| |產品
BadPieces:
的OrderID |件| |產品|組件
感謝,
如果'OrderID'在'BadPieces'中是唯一的,這將起作用。嘗試添加(8,1)到'BadPieces'。 「BothTest」的計算結果是錯誤的。 – 2012-04-14 21:51:12
@MikaelEriksson:極好的一點!我已通過在子查詢中通過'OrderID'將'GoodPieces'和'BadPieces'中的數據彙總在一起進行了更新。現在的數據甚至與您的案例相匹配,在這裏測試原始查詢:http://www.sqlfiddle.com/#!3/1698e/3 – mellamokb 2012-04-14 22:59:41
SQL FIDDLE我不知道那個頁面..謝謝你這麼匹配..並感謝您的解決方案 – leinho 2012-04-16 23:37:51