Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL从一个表中选择ID,从另一个表中选择信息_Php_Mysql - Fatal编程技术网

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

PHP MySQL从一个表中选择ID,从另一个表中选择信息,php,mysql,Php,Mysql,我有两个表,一个叫做queuelist,另一个叫做call info。在queuelist表中,它只列出不同的ID。我试图从该表中获取“clientID”,并将其与包含所有信息的另一个表中的“ID”相匹配,然后将其显示回页面。以下是表格的外观: 表-队列列表 ID | clientID ------------- 1 | 589 2 | 254 3 | 486 表-信息 ID | Name | Phone -------------------- 256 | Bob | 55

我有两个表,一个叫做queuelist,另一个叫做call info。在queuelist表中,它只列出不同的ID。我试图从该表中获取“clientID”,并将其与包含所有信息的另一个表中的“ID”相匹配,然后将其显示回页面。以下是表格的外观:

表-队列列表

ID | clientID
-------------
1  | 589
2  | 254
3  | 486
表-信息

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

您需要使用内部联接

  select * from queuelist as ql inner join info as i on ql.clientID = i.ID
虽然您可能希望用特定字段名替换*,例如

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

好吧,我认为使用连接没有什么困难

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

这就是他们所说的连接表,您应该使用如下查询:

SELECT i.ID, i.Name, i.Phone FROM `queuelist` AS q
LEFT JOIN `info` AS i ON (
    q.clientID = i.ID
);
我在上面的查询中使用别名作为较短的表示法(queuelist变为q,info变为I),然后将连接条件(ON()之间的位)设置为queuelist表中的clientID,并与info表中的ID匹配

有关更多详细信息,请参见。

“Where”是另一个选项

SELECT Name, Phone FROM queuelist,info WHERE clientID = ID
假设您只想编辑姓名和电话。虽然它应该是“也是ql”而不是“alseo q1”;-)