2013-03-10 47 views
1

顯示兩個用戶的名稱保持這個乾淨的一點是:從不同的表

我有兩個MySQL表,用戶(ID,暱稱)和禁止(ID,取締,bannedBy,長度)。 我想在表格中顯示一個禁止列表,但不是顯示禁止的ID和bannedBy ID,我想顯示他們的暱稱。 我可以使用JOIN,讓他們中的一個千鈞一髮之際,在這樣的事情:

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

但我不能讓bannedBy的尼克,和副verca。

我希望我很清楚,在此先感謝您的幫助。

回答

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 
+0

謝謝,我是新手和幫助深表感謝。結果是,一旦你「命名」了你的表格或你的名字,那麼你需要堅持下去。選擇 bans.id, bans.banned, bans.bannedBy, bans.length, u.nick爲 'banedNick', u2.nick爲 'bannedByNick' FROM 禁令 JOIN 用戶üU上。 id = bans.banned JOIN users u2 ON u2.id = bans.bannedBy – user2123244 2013-03-10 09:35:53

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