来自其他表中存在相关记录的表的mysql计数

问题描述

我有2个表,客户和地址。我想计算有多少客户拥有name的地址(例如给定的搜索字词)

类似

SELECT COUNT(*) as countSearch FROM customers,addresses WHERE address.cu_id=customer.id AND customer.name like ?

表客户

 ________________
| id   |  name   |
 _________________
|  4   |  john   |
|  5   |  mark   |
 _________________

表格地址


| id   |  cu_id   | address  |
 ____________________________
|  1   |  4       | ADRESS!! |
 _________________

解决方法

您可以使用内部联接来连接两个表

这将显示c.name有多少个地址

SELECT COUNT(*) as countSearch 
FROM customers c INNER JOIN addresses a
     ON a.cu_id  = c.id
WHERE c.name like 'test'