繁体   English   中英

在php mysql查询中检查两个表的值

[英]Check two table value in php mysql query

我有两张桌子。

客户:

id | custname | phone
---------------------
1  | abc      | 123
2  | xyz      | 456
3  | qwe      | 786
4  | asd      | 1234

注册:

id | regname  | status  |Desc
-----------------------------------
1  | abc      | 1       | text here
2  | cvw      | 0       | text here
3  | fgr      | 1       | text here
4  | asd      | 0       | text here

regname中的cust匹配abc and asd

然后,我要为客户 custnname匹配的客户名称注册表详细信息。

id | custname | status  |Desc
-----------------------------------
1  | abc      | 1       | text here
2  | asd      | 0       | text here

如何用PHP MySQL查询做到这一点?

您可以使用INNER JOIN保留customersregisters所有值:

select c.id, c.custname, r.status, r.Desc
from customers c
inner join register r on r.regname = c.custname

将输出:

id | custname | status  |Desc
-----------------------------------
1  | abc      | 1       | text here
4  | asd      | 0       | text here

注意:不确定要使用哪个ID。 您可以使用c.idr.id

使用join尝试以下查询:

"SELECT customer.custname,register.status,register.Desc 
 FROM customer 
 JOIN register ON register.regname = customer.custname"

这是两个表之间的简单JOIN ,所以您想要的是:

SELECT customer.id,customer.custname,register.status,register.desc
FROM customer
JOIN register ON register.regname = customer.custname

由于我们使用JOIN因此它充当inner join JOIN ,并且只会返回与其匹配的值

有关mysql连接的更多信息,请参见: https : //dev.mysql.com/doc/refman/5.7/en/join.html

您可以尝试以下代码。

SELECT c.id as ID,c.custname as Customer Name,r.status as Status,r.desc as Description
FROM customer as c
INNER JOIN register as r
ON r.regname = c.custname

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM