我的mySQL数据库中有两个表。这两个表完全不同,没有任何共同之处,但它们都有一个“日期”字段。
我希望通过PHP获取“date”字段排序的两个表中的所有行。
示例:
-----------------------------------------------
name | category | date
-----------------------------------------------
PSO | Food | 2015-09-16
TSI | Sport | 2015-10-12
-----------------------------------------------
-----------------------------------------------
film | date
-----------------------------------------------
Harry Potter | 2015-09-19
Star Wars | 2015-11-14
-----------------------------------------------
我期望的结果是:
PSO, Food, 2015-09-16
Harry Potter, 2015-09-19
TSI, Sport, 2015-10-12
Star Wars, 2015-11-14
我该怎么做?
PS:每行表格都是我网页上的div,这些div必须按日期排序。
答案 0 :(得分:1)
看起来您正在寻找UNION
但结果不会与您发布的结果相同;由于UNION
限制了两个表必须具有相同数量的列,但您可以为缺少的列插入NULL
,如下所示。
select * from (
select name,
category,
`date` from table1
union
select film, null, `date`
from table2) xx
order by `date`;
答案 1 :(得分:0)
尝试
SELECT name, category, concat('') AS film, date
FROM TABLE_1 ORDER BY `date`
UNION
SELECT concat('') AS name, concat('') AS category, film, date
FROM TABLE_2
ORDER BY `date` ;
由于UNION
期望在进行联合操作时列名相似,因此您可能需要使用具有空值的自定义列。
答案 2 :(得分:0)
select name ,
category,
date from table1
union all
select film as name , null as category , date
from table2
order by date;
确保两个表的别名相同并且当前订购.....