0

当结果为数字时,我很难从 1 个查询中获取结果并使其以 alpha 顺序显示。

TABLE1: "users" ROWS: user_id, username
TABLE2: "friends" ROWS: user_id, friend_id, confirmed

当您与某人或他们成为您的朋友并且您确认时,您会创建一个 1 的“确认状态”。请
记住:

如果我进行以下查询:

SELECT user_id
  FROM friends
 WHERE friend_id = 4
   AND confirmed = 1
 UNION 
SELECT friend_id
  FROM friends
 WHERE user_id = 4
   AND confirmed=1

我得到了我所有朋友 id 的列表。我是用户'4'。
我现在想做的是获取这个结果并从“用户”中查找他们的用户名并将它们按字母顺序排列以编译“朋友列表”
我已经尝试了 JOIN 等的所有组合,但就是无法理解它。
请帮忙,有什么想法吗?

4

1 回答 1

1
SELECT u.*
  FROM user u
  JOIN 
     ( SELECT user_id
         FROM friends
        WHERE friend_id = 4
          AND confirmed = 1
        UNION 
       SELECT friend_id
         FROM friends
        WHERE user_id = 4
          AND confirmed=1
    ) x
   ON x.user_id = u.user_id
ORDER
   BY something
于 2013-11-11T10:36:56.573 回答