mysql:可以把IF语句放在LEFT JOIN中吗?

时间:2010-05-07 17:22:28

标签: php mysql

好的,所以我想从数据库中获取艺术家信息,但我想知道他们是否有任何即将发生的事件。要做到这一点,我需要遍历2个表,其中events_artists是一个2 col链接表...

(这不起作用但是喜欢这样做)

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} )  

我应该在这做什么才能让它发挥作用?!!

1 个答案:

答案 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)等子查询。