Есть такой запрос (сильно упрощенный):
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` вытаскивает.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.