У меня две таблицы, одна таблица называется queuelist, а другая – информация о вызове. В таблице queuelist он просто перечисляет разные идентификаторы. Я пытаюсь получить «clientID» из этой таблицы и сопоставить ее с «ID» в другой таблице, которая содержит всю информацию и отображает ее на странице. Вот как выглядят таблицы:
Таблица
ID | clientID ------------- 1 | 589 2 | 254 3 | 486
Таблица – информация
ID | Name | Phone -------------------- 256 | Bob | 5551231234 486 | Jack | 5551231234 589 | Jill | 5551231234
Это то, что они называют связыванием таблиц, вы должны использовать такой запрос:
SELECT i.ID, i.Name, i.Phone FROM `queuelist` AS q LEFT JOIN `info` AS i ON ( q.clientID = i.ID );
Я использую псевдонимы для более короткой нотации в вышеуказанном запросе (queuelist становится q, а информация становится i), а затем устанавливает условие соединения (бит между ON ()) как идентификатор clientID из таблицы queuelist, должен соответствовать идентификатору в информационная таблица.
Также см. http://dev.mysql.com/doc/refman/5.0/en/join.html для получения дополнительной информации.
Вы должны использовать внутреннее соединение
select * from queuelist as ql inner join info as i on ql.clientID = i.ID
Хотя вы можете захотеть заменить * на конкретные имена полей, например
select ql.clientID, i.fieldname FROM....
Ну, я не вижу никаких трудностей при использовании JOIN.
SELECT * FROM queuelist JOIN info ON clientID = info.ID WHERE queuelist.ID = 2
«Где» будет другой вариант.
SELECT Name, Phone FROM queuelist,info WHERE clientID = ID
Предполагая, что вы хотите только имя и телефон