2013-05-09 52 views
0

我有2個表,Table AOrder NoOrder Linereceiving no,receiving date,​​。存儲過程更新沒有公共字段表

Order Order Line Receiving No Receiving Date Receiving Qty 
A  1   455555  12/01/2013  10 
A  1   455556  12/01/2013  15 
A  1   455557  15/01/2013  7 
A  1   455558  16/01/2013  10 
A  1   455559  16/01/2013  10 
A  1   455560  16/01/2013  15 
A  1   455561  31/01/2013  7 

Table BOrder NoOrder LineInvoice noInvoice QtyInvoice Date

Order Order Line Invoice no Invoice Date Invoice Qty 
A  1   333331  13/01/2013  32 
A  1   333332  15/01/2013  10 
A  1   333333  01/02/2013  32 

如何創建一個存儲過程來從Table BInvoice NoInvoice QtyInvoice Date更新到Table A

我很新的存儲過程,任何幫助將不勝感激。

所需的輸出:

Order Order Line Receiving No Receiving Date Receiving Qty Invoice No Invoice Date Invoice Qty 
A  1   455555  12/01/2013  10   333331   13/01/2013  10 
A  1   455556  12/01/2013  15   333331   13/01/2013  15 
A  1   455557  15/01/2013  7    333331   13/01/2013  7 
A  1   455558  16/01/2013  10   333332   15/01/2013  10 
A  1   455559  16/01/2013  10   333333   01/02/2013  10 
A  1   455560  16/01/2013  15   333333   01/02/2013  15 
A  1   455561  31/01/2013  7    333333   01/02/2013  7 
+0

你能否用簡單的英語根據樣本數據此更新的邏輯解釋你所提供和崗位所需的輸出? – peterm 2013-05-09 02:55:17

+0

每個訂單都有一些訂單行。 – Tac 2013-05-09 03:00:52

+0

不是訂單和訂單行字段兩個表共同? – 2013-05-09 03:02:18

回答

0

寫此查詢在存儲過程中

UPDATE TableA 
SET ta.RecievingNo = tb.InvoiceNo, 
    ta.RecievingDate = tb.InvoiceDate 
    ta.RecievingQty = tb.InvoiceQty 
FROM TableA ta 
INNER JOIN TableB tb 
    ON ta.Order = tb.Order AND ta.OrderLine=tb.OrderLine 
+0

我曾嘗試上述查詢,但所有3發票否正在反覆更新。 – Tac 2013-05-09 04:09:29

+0

任何人都可以提供幫助嗎? – Tac 2013-05-10 05:14:49