我有几个具有相同结构的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。:我不能制作一个唯一的表并添加一个类型字段,我被要求按原样保留表格。
答案 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
结构