1

保持清洁和重点:

我有两个 MySQL 表,用户(id、nick)和禁令(id、banned、bannedBy、长度)。我想在表格中显示禁令列表,但我不想显示被禁止的 ID 和被禁止的 ID,而是显示他们的昵称。我可以使用 JOIN 来获得其中一个的昵称,如下所示:

SELECT bans.id,bans.banned,bans.bannedBy,bans.length,users.nick
FROM bans
JOIN users ON users.id=bans.banned

但是我不能得到bannerBy的昵称,反之亦然。

我希望我很清楚,在此先感谢您的帮助。

4

2 回答 2

2

您必须在不同的键上加入users两次表。

SELECT
    bans.id,
    bans.banned,
    bans.bannedBy,
    bans.length,
    u.nick as 'banedNick',
    u2.nick as 'bannedByNick'
FROM
    bans
JOIN 
    users u ON users.id = bans.banned
JOIN
    users u2 ON users.id = bans.bannedBy
于 2013-03-10T09:13:42.890 回答
1

您可以使用两个连接:

SELECT bans.id,bans.banned,b.nick as bannedBy,bans.length,u.nick
FROM bans
JOIN users u ON u.users.id=bans.banned
JOIN users b ON b.users.id=bans.bannedBy
于 2013-03-10T09:14:24.030 回答