[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: UNION только тогда, когда не достигнут LIMIT
Barh
Здравствуйте, форумчане!

Подскажите, возможно ли, сделать что бы в цепочке запросов, соединенных посредством UNION, следующий запрос выполнялся только тогда, когда не достигнут LIMIT ? А LIMIT должен быть общим на все запросы (куммулятивным).

Запрос (LIMIT'ы указал для наглядности):
SELECT * FROM (
SELECT `id` FROM `table` WHERE `lastname` LIKE '%ман%' LIMIT 4
UNION
SELECT `id` FROM `table` WHERE `lastname` LIKE '%ган%' LIMIT 4
UNION
SELECT `id` FROM `table` WHERE `lastname` LIKE '%либ%' LIMIT 4
) as `result` LIMIT 4


Или это, возможно, сделать только с помощью PHP-логики?
T1grOK
Нет запросе такое сделать нельзя.
И выборка из юниона лишняя, достаточно взять в скобки последний запрос в цепочке union
SELECT `id` FROM `table` WHERE  `lastname` LIKE '%ман%' LIMIT 4
UNION
SELECT
`id` FROM `table` WHERE `lastname` LIKE '%ган%' LIMIT 4
UNION
(SELECT `id` FROM `table` WHERE `lastname` LIKE '%либ%' LIMIT 4)
LIMIT 4


_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.