2016-11-20 83 views
0

现在我试图将来自两个不同表格的信息合并到一个新表格中。在将表格插入新表格时遇到问题。

这是我现在拥有的。

insert into invoices_paid(InvoiceNumber,InvoiceDate,InvoiceTotal) 
select InvoiceNumber,InvoiceDate,InvoiceTotal 
from Invoices 
insert into invoices_paid(AccountNo, InvoiceLineItemAmount, InvoiceLineItemDescription) 
select AccountNo, InvoiceLineItemAmount, InvoiceLineItemDescription 
From InvoiceLineItems 

要帮助的图片。 Query

我需要红色框中的信息来匹配它们各自的信息和左边的列。我很新,但我认为我很接近。谁能帮忙?

+0

该截图看起来非常像SQL Server Management Studio。标记错误的RDMS? – Parfait

回答

0

加入InvoiceNumber上的Invoices和InvoiceLineItems表,并将其用作INSERT语句的SELECT子句的数据源。如:

insert into invoices_paid (InvoiceNumber,InvoiceDate,InvoiceTotal, 
    AccountNo, InvoiceLineItemAmount, InvoiceLineItemDescription) 
select 
    inv.InvoiceNumber,InvoiceDate,InvoiceTotal, 
    AccountNo, InvoiceLineItemAmount, InvoiceLineItemDescription 
from 
    Invoices as inv 
    inner join InvoiceLineItems as li on li.InvoiceNumber = inv.InvoiceNumber; 
0

可以使用select来找到其他的表,你也considring你必须做出一个条件,并考虑根据你的条件将两个表中的值,在新表中插入值使行:

insert into invoices_paid(InvoiceNumber,InvoiceDate 
,InvoiceTotal,AccountNo, InvoiceLineItemAmount, InvoiceLineItemDescription) 
values (select i.InvoiceNumber,i.InvoiceDate,i.InvoiceTotal 
, b.AccountNo, b.InvoiceLineItemAmount, b.InvoiceLineItemDescription 
from Invoices as i join InvoiceLineItems 
as b where i.InvoiceNumber = b.AccountNo)