0

クエリの実行中に少しエラーが発生しました。

それは言います:Unknown column 'friend_id' in 'on clause'

SELECT DISTINCT
       CASE friends.user_id_1 
            WHEN 1 THEN friends.user_id_2 
            ELSE friends.user_id_1 
       END AS friend_id,
       friends.created
       /*users.name_surname,
       users.avatar*/
FROM friends
JOIN users ON friend_id = users.id
WHERE 1 IN (friends.user_id_1, friends.user_id_2) /*AND friends.status = 1*/

friend_id実際の列ではないため、明らかに問題があります。エラーを修正するにはどうすればよいですか?

4

1 に答える 1

0

結合後SELECT発生するため、エイリアスは使用できません。

代わりにこれを試してください:

SELECT DISTINCT
   friends.friend_id,
   friends.created
   /*users.name_surname,
   users.avatar*/
FROM (
    SELECT created,
        CASE user_id_1 WHEN 1 THEN user_id_2 
            ELSE user_id_1 
        END AS friend_id
    FROM friends
    WHERE 1 IN (user_id_1, user_id_2) /*AND status = 1*/
) friends
JOIN users ON friends.friend_id = users.id
于 2013-10-30T19:23:51.957 に答える