如果第一次匹配不存在,则仅执行“OR”

时间:2013-10-24 11:59:28

标签: mysql sql

我的部分MySQL查询如下所示:

LEFT JOIN edu_experience e ON e.exp_user = u.user_id 
AND e.exp_current = '1'
OR e.exp_user = u.user_id 
AND e.exp_start = e1.MaxExpStart 
AND e.exp_type != '0'

但是,如果e.exp_user = u.user_id AND e.exp_current = '1'不匹配,我只想进行“OR”声明。

所以,如果我只是做这个查询 - 它可以工作:

LEFT JOIN edu_experience e ON e.exp_user = u.user_id 
AND e.exp_current = '1'

但并非在所有情况下,为什么我需要“OR”声明。

1 个答案:

答案 0 :(得分:1)

请试试这个:

LEFT JOIN edu_experience e ON (
  e.exp_user = u.user_id 
  AND (
    e.exp_current = '1'
    OR e.exp_user = u.user_id
  )
  AND e.exp_start = e1.MaxExpStart 
  AND e.exp_type != '0'
)