MySQL UNION запрос с условием - PullRequest
4 голосов
/ 27 марта 2012

У меня есть 2 колонки фестивалей и событий, например

festival

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

events

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 

Пожалуйста, помогите Спасибо заранее

Ответы [ 2 ]

10 голосов
/ 27 марта 2012
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
3 голосов
/ 27 марта 2012

Это должно сработать

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
...