2011-09-08 6 views
2

Я делаю выбор с помощью UNION ALL для поисковой страницы, поэтому мне нужно знать, из какой таблицы пришел результат, для меня сделайте ссылку на правильную страницу. Возможно?Выбрать с помощью UNION ALL question

Ex:

(SELECT id, title AS tit FROM video WHERE `title` LIKE '%test%') 
UNION ALL 
(SELECT id, title AS tit FROM testimonials WHERE `title` LIKE '%test%' AND _type = 'news') 
UNION ALL 
(SELECT id, title AS tit FROM image_gallery WHERE `title` LIKE '%test%' AND id_gallery = '1') 

Приветствие Mango

ответ

2

Как насчет добавления имени таблицы в ЗЕЬЕСТ?

(SELECT id, title AS tit, 'video' as tname FROM video WHERE `title` LIKE '%test%') 
UNION ALL 
(SELECT id, title AS tit, 'testimonials' as tname FROM testimonials WHERE `title` LIKE '%test%' AND _type = 'news') 
UNION ALL 
(SELECT id, title AS tit, 'image_gallery' as tname FROM image_gallery WHERE `title` LIKE '%test%' AND id_gallery = '1') 
+0

Спасибо, Рик, я знаю, что это возможно! – Mango

4

Просто добавьте имя таблицы в каждый подзапрос:

(SELECT 'video' as tablename, id, title AS tit 
FROM video 
WHERE `title` LIKE '%test%') 
UNION ALL 
(SELECT 'testimonials' as tablename, id, title AS tit 
FROM testimonials 
WHERE `title` LIKE '%test%' AND _type = 'news') 
UNION ALL 
(SELECT 'image_gallery' as tablename, id, title AS tit 
FROM image_gallery 
WHERE `title` LIKE '%test%' AND id_gallery = '1')