这是我尝试过的示例:
SELECT
*
FROM
(
SELECT
username,
nickname,
email
FROM
accounts
WHERE
id = 1
) AS accdetails,
(
SELECT
rank
FROM
ranks
WHERE
userid = 1
AND group = "admin"
LIMIT 1
) AS rank;
这有效,但前提是用户在名为“admin”的组中具有级别。如果排名不存在,我希望它返回 null,但仍返回用户的用户名、昵称和电子邮件。
我也尝试过使用左连接,但我似乎也无法正常工作。也会出现同样的问题。可以使用 ON account.id=ranks.userid
我怎样才能实现这个目标?
最佳答案
你尝试过这样的事情吗?
SELECT a.username, a.nickname, a.email, a.id, r.rank
FROM accounts a
LEFT OUTER JOIN ranks r on a.id = r.userid and r.group = 'admin';
关于mysql - 如何组合这两个选择查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42561066/