PHP MySQL从一个表中选择ID,从另一个表中选择信息

时间:2011-12-13 15:30:24

标签: php mysql

我有两个表,一个表称为queuelist,另一个表是呼叫信息。在queuelist表中,它只列出了不同的ID。我试图从该表中获取'clientID'并将其与包含所有信息的另一个表中的'ID'相匹配,并将其显示在页面上。表格如下:

表 - queuelist

ID | clientID
-------------
1  | 589
2  | 254
3  | 486

表格 - 信息

ID   | Name  | Phone
--------------------
256  | Bob   | 5551231234
486  | Jack  | 5551231234
589  | Jill  | 5551231234

4 个答案:

答案 0 :(得分:6)

这就是他们所谓的连接表,你应该使用这样的查询:

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()之间的位设置为来自queuelist表的clientID应该是匹配信息表中的ID。

另请参阅http://dev.mysql.com/doc/refman/5.0/en/join.html了解详情。

答案 1 :(得分:4)

您需要使用内部联接

  select * from queuelist as ql inner join info as i on ql.clientID = i.ID

虽然您可能希望将*替换为特定字段名称,例如

  select ql.clientID, i.fieldname FROM....

答案 2 :(得分:1)

嗯,我认为使用JOIN没有任何困难。

SELECT * FROM queuelist JOIN info ON clientID = info.ID WHERE queuelist.ID = 2

答案 3 :(得分:0)

“哪里”是另一种选择。

SELECT Name, Phone FROM queuelist,info WHERE clientID = ID

假设您只需要姓名和电话