我正在尝试做这样的事情:
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
}
答案 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