将两个临时表组合到一个表中,但保留所有列名

时间:2012-11-30 23:30:44

标签: mysql

我需要创建两个临时表,然后将它们连接到一个表中,并保留表和数据的所有列名。使用Mysql

CREATE TEMPORARY TABLE tenant_invoices
    SELECT * FROM invoices

CREATE TEMPORARY TABLE tenant_payments
    SELECT * FROM payments

如何使用MYSQL进行此操作?

感谢。

1 个答案:

答案 0 :(得分: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