如何使用case语句来确定要连接的字段

Dav*_*ell 6 mysql case left-join

鉴于字段等于变量,我有一个查询需要能够在正确的位置连接一个字段.

就像是:

CASE WHEN challenges.userID = $var
LEFT JOIN challengesRead ON challenges.userID = challengesRead.userID
CASE WHEN challenges.opponentID = $var
LEFT JOIN challengesRead ON challenges.opponentID = challengesRead.userID
Run Code Online (Sandbox Code Playgroud)

我认为我走在正确的轨道上,但我不确定如何将查询放在一起.谢谢

Raj*_*ore 9

这样的事可能有用

LEFT JOIN challengesRead 
ON challenges.userID = CASE 
WHEN challenges.userID = $var THEN challengesRead.userID 
WHEN challenges.opponentID = $var THEN challenges.opponen END
Run Code Online (Sandbox Code Playgroud)