2013-03-24 4 views
0

Я пытаюсь выполнить sql-запрос, где у меня есть идентификатор класса, и с этим идентификатором класса мне нужно получить идентификатор пользователя, из которого идентификатор пользователя затем используется в другой таблице, чтобы получить информацию о пользователях, такую ​​как имя и фамилия.Синтаксис таблиц SQL INNER JOIN

Это то, что мои таблицы выглядит следующим образом:

Table Name: class Таблица Название: ClassList

Table Name: student Название таблицы: студент

Взаимосвязь между class.UID и student.UID правильно настроена.

Это то, что я пытался до сих пор, но не работает (я новичок в PHP и SQL):

$result = mysqli_query($con, "SELECT * FROM student INNER JOIN classlist ON student.UID=classlist.UID WHERE classlist.ClassID='$classID'"); 

Что бы правильный синтаксис SQL для этого запроса?

Дополнительные примечания ClassID берет свое начало из таблицы под названием класса и UID берет свое начало от студента таблицы вызовов, оба имеют свои настройки отношения.

+2

все это исключение? –

ответ

0

Работа скрипку:

http://sqlfiddle.com/#!2/6308d/2

Имена вашей таблицы неверны (согласно вашему сообщению)

$result = mysqli_query($con, "SELECT * FROM student INNER JOIN class ON student.UID=class.UID AND class.ClassID='$classID'"); 

Кроме того, я изменил Where к And, как это условие соединения

+0

вы присоединяетесь к 'INNER JOIN', поэтому не будет иметь никакого значения, если вы добавите условие в предложение' where' или в поле 'ON'. –

+0

@JW - это неправильный способ использования 'And' в этом случае, так как условие в объединенной таблице? –

+0

не то, что это неправильно, но идея такая же. только важно, если вы используете 'OUTER JOIN'. –