MySql中表的联合

时间:2014-11-19 05:03:11

标签: mysql sql database union

我在两个select语句上执行union,但是我得到的结果包含随机行,如表1中的一些和表2中的一些。但我想先从表1中获取所有行,然后从表2中获取。我正在使用MySql数据库。

  Table 1
==========================
s_no     Name        Marks
1       nikhil         25

  Table 2
====================
s_no  Name     Marks
1     Akhil     10  
2     Mark      20
1     Kim       40

以下是我正在使用的查询:

select * from (
      select t2.s_no,t2.name,t2.marks from table1 t2
  union all
      select t1.roll_no,t1.name,t1.marks from table1 t1
      ) a order by s_no desc

结果如下:

  Actual result
=========================
s_no     Name     Marks
1        Akhil       10
1        nikhil  25  <<<
1        kim     40
2        mark        20

  required result
====================
s_no    Name     marks
1       Akhil      10
1       Kim        40
1       nikhil     25  <<<
2       mark       20

1 个答案:

答案 0 :(得分:1)

试试这个。您需要在上一个order by s_no,name

中添加select query
(select * from table1)
union
(select * from table2) order by s_no,name