如何根据mysql中的条件更改连接类型?

时间:2016-05-06 11:52:23

标签: mysql join

我正在尝试做这样的事情:

SELECT m.id, u.first_name AS otherUser
FROM matches AS m
IF (u.id=m.user2ID)
    Inner JOIN users AS u ON u.id = m.user1ID
ELSE
    LEFT JOIN users AS u ON u.id = m.user2ID
ENDIF
WHERE m.user1ID=2 OR m.user2ID=2

现在我的目的是根据条件更改连接类型。我能这样做吗?如果是,那么如何?

更新: - 我想在这里实现的是,当某个条件为真时更改联接类型,如:

if(a==1){
  Then do inner join
}else{
 Then do left join
}

1 个答案:

答案 0 :(得分:1)

如果这可能是无效的

SELECT m.id, u.first_name AS otherUser
FROM matches AS m
LEFT JOIN users  as u  
   ON ( (u.id=m.user2ID AND ON u.id = m.user1ID ) OR u.id = m.user2ID )
WHERE m.user1ID=2 OR m.user2ID=2