[英]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
保留customers
和registers
所有值:
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.id
或r.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.