2010-05-07 2 views
1

Итак, я хочу получить информацию о художниках из db, но я хочу знать, есть ли у них какие-либо предстоящие события. Для этого мне нужно пройти 2 таблицы, где events_artists найти ссылку таблица 2 цв ...mysql: можно поставить IF statment в LEFT JOIN?

(это не работает, но это то, что ид нравится делать)

SELECT art.*, events.event_id FROM art 
LEFT JOIN events_artists 
ON art.art_id = events_artists.art_id 
LEFT JOIN events 
ON events_artists.event_id = events.event_id IF ({criteria}) 

, что я должен делать здесь заставить это работать? !!

+0

Я не понимаю, почему вы будете ВЛЕВО РАБОТЫ в таблицу «СОБЫТИЯ». У меня такое впечатление, что все они должны быть ПРИСОЕДИНЯЕМ ... –

ответ

1

Ключевое слово AND можно использовать, чтобы указать дополнительные критерии соединения.

SELECT art.*, events.event_id FROM art 
LEFT JOIN events_artists 
ON art.art_id = events_artists.art_id 
LEFT JOIN events 
ON events_artists.event_id = events.event_id AND ({criteria}) 

При необходимости, вы можете также использовать подзапрос, такие как AND EXISTS (SELECT * FROM tbl), если вам необходимо запросить дополнительные данные.