2012-09-16 90 views
0

我有2個兩個表。一個表包含2行用戶id(如快速用戶和第二個用戶)。另一個表格包含用戶數據(如用戶名稱)。Mysql別名和左連接

如何使用左連接檢索2個用戶名?我想有SQL查詢。我怎樣才能得到這個結果在PHP?

感謝

Foysal

+0

請給一些數據結構和sh數據樣本。 – cheneydeng

回答

1

試試這個,

SELECT a.fastuser, b.*, 
     a.secondUser, c.* 
FROM table1 a 
     LEFT JOIN table2 b 
      on a.fastUser = b.userID 
     LEFT JOIN table2 c 
      on a.secondUser = c.userID 
1

您可以加入同一個表兩次,表和USER_NAME列使用不同的別名:

select u1.user_name as first_username, 
     u2.user_name as second_username 
from some_table t 
left join user_table u1 on t.first_user_id = u1.user_id 
left join user_table u2 on t.second_user_id = u2.user_id 
+0

那麼我怎麼能得到這些結果在PHP?如下所示 $ row = mysql_fetch_array($ result); echo「Name:」。$ row ['name']; echo「Age:」。$ row ['age']; – Foysal

+0

您可以使用'alias'名稱,如'first_username'和'second_username'。那麼你可以像'$ row ['first_username']'一樣使用它們。查看我的更新。 –

0

說表1包含用戶信息: - ID,ID_C,電子郵件,年齡等

表2包含USER_NAME: - 編號,USER_NAME

這裏ID table1中是指ID在表1(用於第一用戶) 這裏id_c在表1指的是在ID表2(用於第二用戶) 然後查詢會像

select a.user_name,b.user_name,u.email from Table1 as u 
left join Table2 as a on u.id=a.id 
left join Table2 as b on u.id_c=b.id 

你可以通過我的博客,帖子參考用途

http://codebucket.co.in/for-mysql-savvy-multiple-joins-with-alias/