2013-05-09 53 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