2013-04-24 11 views
0

我有例如零件清單:SQL從一個單獨的列表左,右部件清單(所有部分列出)

PARTNO,側面,LotNo,BatchNo

側要麼「左」或「右」。 LotNo和BatchNo的左右匹配。如果零件沒有匹配,我需要顯示左側或右側的零件,缺少的一側爲空白。這很容易,直到最後一部分。

 
Part Side Batch Lot Part Side Batch Lot 
122A Left 10  501 122B Right 10  501 
238A Left 10  601 238B Right 10  601 
882A Left 20  801    
          992B Right 20  802 
332A Left 20  901 322B Right 20  901 


+0

你能提供你到目前爲止的內容嗎? – Erich 2013-04-24 19:11:48

+0

忘了提及我正在嘗試在同一行上創建一個左+右列表。 – Orintangio 2013-04-24 19:12:14

+0

你能舉一些例子數據和預期的輸出。 – 2013-04-24 19:15:36

回答

1

試試這個。 SQL Fiddle

SELECT 
pl.[Part],pl.[Side], pl.[Batch], pl.[Lot], 
pr.[Part] as Part_R, pr.[Side] AS Side_R, pr.[Batch] As Batch_R, pr.[Lot] AS Lot_R 
FROM 
    (SELECT * FROM part WHERE Side = 'Left') pl 
FULL OUTER JOIN 
    (SELECT * FROM part WHERE Side = 'Right') pr 
    ON pl.Batch = pr.Batch 
    AND pl.Lot = pr.Lot 
+0

很好地工作。謝謝。 – Orintangio 2013-04-26 12:23:57

相關問題