如何从两个表中获取所有记录?

时间:2016-04-09 11:00:32

标签: mysql sql

假设我们有两个简单的表格,如:

**table1**                      **table2**
Nr   Color                      Id   Type
1    green                      43   metal
2    red                        52   glass
3    black                     
4    white 

我想在查询中检索的是:

Nr   Color   Id   Type
1    green   43   metal
2    red     52   glass
3    black
4    white

请帮帮我。

1 个答案:

答案 0 :(得分:1)

它根本不可能,你需要在这里做一些技巧..

select Nr, Color, Id, Type
from (select @counter1 := @counter1+1 as counter, Nr, Color
      from table1, (select @counter1 := 0) init) t1
left join (select @counter2 := @counter2+1 as counter, Id, Type
           from table2, (select @counter2 := 0) init) t2
using (counter)

制作结果

Nr   Color   Id   Type
1    green   43   metal
2    red     52   glass
3    black
4    white

但是,评论建议最佳实践是定义表之间的关系。