2016-07-10 3 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).

EDIT: Поскольку вы присоединяетесь club таблицы с тем же экземпляром members таблицы вторых присоединиться становится излишним таким образом.

Вместо этого вы должны использовать следующий запрос:

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

Пожалуйста, посмотрите на это [** сообщение **] (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 
Смежные вопросы