MySql中的表并集
我对两个select语句执行并集,但得到的结果包含随机行,如表1中的一些行和表2中的一些行。但我想先从表1中获取所有行,然后从表2中获取。我使用的是MySql数据库MySql中的表并集,mysql,sql,database,union,Mysql,Sql,Database,Union,我对两个select语句执行并集,但得到的结果包含随机行,如表1中的一些行和表2中的一些行。但我想先从表1中获取所有行,然后从表2中获取。我使用的是MySql数据库 Table 1 ========================== s_no Name Marks 1 nikhil 25 Table 2 ==================== s_no Name Marks 1 Akhil 10 2
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阿克希尔10
1 nikhil 25试试这个。您需要在最后一个选择查询中按序号、名称添加订单
(select * from table1)
union
(select * from table2) order by s_no,name
将名称也添加到ORDERBY子句中