2012-11-30 52 views
1

我需要創建兩個臨時表,然後將它們連接在一起放入一個表中並保留表和數據的所有列名。使用Mysql將兩個臨時表合併到一個表中,但保留所有列名

CREATE TEMPORARY TABLE tenant_invoices 
    SELECT * FROM invoices 

CREATE TEMPORARY TABLE tenant_payments 
    SELECT * FROM payments 

我該如何使用MYSQL來做到這一點?

謝謝。

+0

,請告訴我們這兩個表模式 – GreyBeardedGeek

回答

1

一旦你創建兩個臨時表,你可以使用一個CROSS JOIN連接表一起:

select ti.*, tp.* 
from tenant_invoices ti 
cross join tenant_payments tp 

SQL Fiddle with Demo

CROSS JOIN如果沒有現場連接表會工作。如果你有一個字段加入,那麼你可以使用INNER JOINLEFT JOIN

select ti.*, tp.* 
from tenant_invoices ti 
inner join tenant_payments tp 
    on ti.account_id = tp.account_id 

select ti.*, tp.* 
from tenant_invoices ti 
left join tenant_payments tp 
    on ti.account_id = tp.account_id 

SQL Fiddle with demo

+0

感謝。我補充說,但它是複製結果。而不是8行,我得到16行? – Ronedog

+0

你的桌子有一個可以加入他們的領域嗎? Like Invoice.id = payment.id? – Taryn

+0

我有「account_id」我更新了sql小提琴http://sqlfiddle.com/#!2/3036d/2但不知道我說得沒錯。 – Ronedog

相關問題