Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带条件的MySQL联合查询_Php_Mysql_Mysql Management - Fatal编程技术网

Php 带条件的MySQL联合查询

Php 带条件的MySQL联合查询,php,mysql,mysql-management,Php,Mysql,Mysql Management,我有两个专栏,节日和活动,比如 节日 id | name | modified_date ----------------------------------- 12 | fest 1 | 2012-03-14 17:45:40 13 | fest 2 | 2012-03-14 17:45:40 15 | fest 4 | 2012-03-14 17:45:40 11 | fest 5 | 2012-03-14 17:45:40 事

我有两个专栏,节日和活动,比如

节日

id  |   name     | modified_date
-----------------------------------
12  | fest 1     |  2012-03-14 17:45:40
13  | fest 2     |  2012-03-14 17:45:40
15  | fest 4     |  2012-03-14 17:45:40
11  | fest 5     |  2012-03-14 17:45:40
事件

id  |   name     | modified_date
-----------------------------------
14  | envt 1     |  2012-03-14 17:45:40
15  | envt 2     |  2012-03-14 17:45:40
16  | envt 4     |  2012-03-14 17:45:40
17  | envt 5     |  2012-03-14 17:45:40
我的应用程序中有一个页面显示最近的更新,单击每个列表,它将重定向到相应的事件或节日

对此,我有以下疑问

select id,name,modified_date from events
UNION
select id,name,modified_date from festival
order by modified_date desc
这将返回一个类似于

id  |   name     |  modified_date
-------------------------------------
12  | fest 1     |  2012-03-14 17:45:40
13  | fest 2     |  2012-03-14 17:45:40
--------------------------------------------
但我的问题是,我还需要再写一列,以便理解这一行代表一个事件或节日。。类似于

id  |   name     |  modified_date         |  type
---------------------------------------------------
12  | fest 1     |  2012-03-14 17:45:40   |  festival
15  | evnt 2     |  2012-03-14 17:45:40   |  event 
请帮忙
提前感谢

这应该可以解决问题

select id, name, modified_date, 'event' as type
from events 

UNION 

select id, name, modified_date, 'festival' as type
from festival 
order by modified_date desc
select id,name,modified_date, 'event' AS type from events
UNION
select id,name,modified_date, 'festival' AS type from festival order by modified_date desc

您可能希望使用UNION ALL而不是UNION,因为如果您知道结果集不重叠(UNION要求RDBMS在内部执行不同的操作),通常会更快。@Phil您知道他们怎么说。。。要想赢,你必须聪明、快速或作弊。因为我还没有找到作弊的好方法,所以我只关注快速。