-2

私の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'

ただし、「OR」ステートメントを実行したいのは、:e.exp_user = u.user_id AND e.exp_current = '1'が一致しなかった場合のみです。

したがって、単純にこのクエリを実行すると、機能します。

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

しかし、すべてのシナリオではありませんが、なぜ「OR」ステートメントが必要なのですか。

4

1 に答える 1

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'
)
于 2013-10-24T12:45:14.827 に答える