我有两个表,一个表称为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
答案 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。
答案 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
假设您只需要姓名和电话