选择不从MySQL中的多个表中加入数据

时间:2011-04-11 20:44:11

标签: mysql

我有几个具有相同结构的MySQL表。他们都有一个日期字段。我必须在PHP中构建一个列表,显示这些表中的所有行,按日期排序。行将在此列表中混合,订购的唯一标准是日期。

例如:

table1.name; 2011-4-11 05:45h
table6.name; 2011-4-11 10:30h
table3.name; 2011-4-11 15:45h
table2.name; 2011-4-16 09:30h

是否可以使用MySQL查询执行这些操作,还是让每个表选择一个并使用PHP混合数据?没有连接表,它们是相同的表,我必须显示他们的所有数据。

P.S。:我不能制作一个唯一的表并添加一个类型字段,我被要求按原样保留表格。

3 个答案:

答案 0 :(得分:1)

嗯,可以说你可以这样。

    Select 'table1' as name, mydate from table1 
union (select 'table2' as name, mydate from table2) as tmp ... 
order by mydate

union工作假设具有相同的结构,例如在这种情况下名称,日期,并将它们附加到一个列表中,然后您可以对它们进行排序

答案 1 :(得分:0)

为什么不使用可以作为表的联合的VIEW,然后你可以对视图进行排序?

答案 2 :(得分:0)

您可以使用SELECT ... UNION .. SELECT结构

更多信息:http://dev.mysql.com/doc/refman/5.0/en/union.html