合并具有不同列号的两个不同表的结果,使用相同的键对它们进行排序

时间:2014-03-30 10:58:59

标签: php mysql sql sql-server sqlite

我有两张桌子:

Table A: ID Cars Planes Num
          1    3      5   2
          2    8      44  1
          3    7      23  6
          4    6      2   7

Table B: ID Horses Dogs Cats Elefants Num
          1    3      5   2      3     3  
          2    8      44  1     22     4
          3    7      23  4     14     8
          4    6      2   3     15     5

我需要做什么:我需要从两个表中获取所有结果,并按照" Num"列,其中"数字"实际上对于两行的每个结果都是唯一的。

甚至可以"合并"这两个表并按" num"来命令它们。或者我应该只是单独订购每个表并执行两个循环检查表格之间的下一个数字跳转?

由于

2 个答案:

答案 0 :(得分:2)

你可以将它们与UNION合并。

试试这个:

select num from(
    select num from table1
    union all
    select num from table2
    )t
order by num asc

DEMO HERE

编辑:

select id ,Cars,Planes, Horses,Dogs,Cats,Elefants,num from(
    select id ,Cars,Planes,'No horses' Horses,'No dogs' Dogs,'No cats' Cats,'No elefants' Elefants,num from table1
union all
select id,'No cars' Cars,'No planes' Planes,Horses,dogs,Cats,Elefants, num from table2
 )t
 order by num asc;

DEmo with other columns

答案 1 :(得分:0)

SELECT NUM FROM TABLEA
UNION ALL
SELECT NUM FROM TABLEB
ORDER BY 1