我正在尝试做这样的事情:
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
}
最佳答案
如果这可能是等价的
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
关于mysql - 如何根据mysql中的条件更改连接类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37071696/