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

Есть такой запрос (сильно упрощенный):

SELECT `tab1`.`id`
FROM `tab1`
WHERE `tab1`.`a`='1'
AND (`tab1`.`c2`='0' OR `tab1`.`c2`='17')


Как можно джойнить таблицу tab2 в случае невыполнения последнего условия:
AND (`tab1`.`c2`='0' OR `tab1`.`c2`='17')
т.е. если не найдено, то ищем во второй таблице типа:

SELECT `tab1`.`id`
FROM `tab1`,`tab2`
WHERE `tab1`.`a`='1'
AND (`tab1`.`c2`='0' OR `tab1`.`c2`='17'
OR ( `tab2`.`id`= `tab1`.`id` AND `tab2`.`c2`='17')
)


В таком вот виде он все строки из `tab2` вытаскивает.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
xlebosol
SELECT `tb1`.`id` as id_tab1, `tb2`.`id` as id_tab2
FROM `tab1` as tb1
INNER JOIN `tab2` as tb2
ON ( `tb2`.`id`= `tb1`.`id`)
WHERE `tb1`.`a`='1'
AND `tb1`.`c2`>=0
AND `tb2`.`c2`='17'
GET
!!!!!

xlebosol

Я просто не по тому полю соединение делал...спасибо
Цитата
ON ( `tab2`.`id`= `tab1`.`id`)
навел на ошибку!

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

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