[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с запросом
GET
Есть такой запрос:

SELECT `tab1`.`id` FROM `tab`
WHERE `tab1`.`name` IN ('f3243','d3334')
AND count>0
AND 1 IN
(
SELECT 1 FROM `tab2`
WHERE `tab2`.`id`=`tab1`.`id`
AND `tab2`.`vars`='2'
)


Он работает, но из `tab2` вытаскиваются ВСЕ возможные записи, а достаточно ОДНОЙ, просто чтоб знать, что она есть.

Если поставить LIMIT 1:

SELECT `tab1`.`id` FROM `tab`
WHERE `tab1`.`name` IN ('f3243','d3334')
AND count>0
AND 1 IN
(
SELECT 1 FROM `tab2`
WHERE `tab2`.`id`=`tab1`.`id`
AND `tab2`.`vars`='2'
LIMIT 1
)


То запрос не работает, ошибка лимита в подзапросе:
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery

В инете пишут, что вроде есть костыль, когда
    SELECT * FROM 
(SELECT 1 FROM `tab2`
WHERE `tab2`.`id`=`tab1`.`id`
AND `tab2`.`vars`='2'
LIMIT 1) as `tab3`


оборачивают в еще один запрос, чтоб спрятать LIMIT, но это неприятный костыль и у меня на mysql 5.5 он не прокатил.

Что можно еще придумать?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

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