SELECT `profiles`.*
    FROM `profiles`
    INNER JOIN `friendships`
    ON `profiles`.id = `friendships`.(CASE WHEN friendships.profile_id = 1
    THEN`friend_id` ELSE `profile_id` END)


我怎样才能使内部联接像profile.id =友谊。(这里将选择所需的一个键),但是它不起作用。请帮助:P

它不能是:

         `profiles`.id =  (CASE WHEN friendships.profile_id = 1
         THEN `friendships`.`friend_id` ELSE `friendships`.`profile_id` END)

最佳答案

SELECT `profiles`.*
FROM `profiles`
INNER JOIN `friendships`
ON `profiles`.id = (CASE WHEN friendships.profile_id = 1
THEN friendships.`friend_id` ELSE friendships.`profile_id` END)

关于mysql - 问题时的MySQL案例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2547375/

10-09 02:14