2016-07-10 107 views
1

以下是我迄今爲止嘗試的內容,但顯示錯誤。將單個表格的單列添加到另一個表格的多列

#1066 - 不唯一的表/別名: '俱樂部'

select members.*, role.role_name, department.dept_name, club.club_name from members 
join role on members.role_id=role.id 
join department on members.dept_id=department.id 
join club on members.club_id=club.id 
join club on members.coordi_club_id = club.id 

我該如何解決呢?

回答

0

試試這個請:

SELECT 
    members.*, role.role_name, 
    department.dept_name, 
    CL1.club_name 
FROM 
    members 
JOIN role ON members.role_id = role.id 
JOIN department ON members.dept_id = department.id 
JOIN club CL1 ON members.club_id = CL1.id 
JOIN club CL2 ON members.coordi_club_id = CL2.id; 

注:你需要給一個別名club表,同時加入了第二次。爲了清楚起見,我使用了club(CL1,CL2)的兩個別名。

編輯:既然你與members表的同一個實例第二個連接加入club表變得多餘這樣。

相反,你應該使用以下查詢:

SELECT 
     members.*, role.role_name, 
     department.dept_name, 
     CL1.club_name 
    FROM 
     members 
    JOIN role ON members.role_id = role.id 
    JOIN department ON members.dept_id = department.id 
    JOIN club CL1 ON members.club_id = CL1.id AND members.coordi_club_id = CL1.id; 
+0

我還有一個疑問。你能告訴我如何獲取我的PHP頁面上的這個值。 –

+0

請看看這個[** post **](http://stackoverflow.com/questions/17902483/show-values-from-a-mysql-database-table-inside-a-html-table-in-a )和[**更多**](http://www.w3schools.com/php/php_mysql_select.asp)。 – 1000111

0

你不應該在一個單獨的語句表多次加入。擦除代碼的最後一個連接部分,希望它能正常工作。

select members.*, role.role_name, department.dept_name, club.club_name from members 
join role on members.role_id=role.id 
join department on members.dept_id=department.id 
join club on members.club_id=club.id ; // If you want to add another condition, just write AND keyword and specify in this line. 

join club on members.coordi_club_id = club.id // You need not use this line 
相關問題