显示来自不同表的两个用户的名称

时间:2013-03-10 09:11:25

标签: php mysql sql

保持这个清洁并且重点:

我有两个MySQL表,用户(id,nick)和禁令(id,banned,bannedBy,length)。 我想在表格中显示一个禁令列表,但是我想显示他们的缺​​口,而不是显示禁止的ID和bannedBy ID。 我可以使用JOIN来获取其中一个的缺点,如下所示:

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

但是后来我无法获得被禁止的昵称和副诽谤。

我希望我很清楚,先谢谢你的帮助。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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