【发布时间】:2016-01-14 07:46:51
【问题描述】:
我有一个表格,数据如下:
过滤表
**id filter**
4638 Aabe
4639 Aaby
4640 Aadl
4641 Aaga
4642 Aake
姓氏表
**surnames**
Aaberge
Aabehut
Aabyuti
Aabytis
Aadlit
Aagastha
Aaker
我正在尝试编写一个内部查询来检索与 filter 表中的过滤器匹配的 surnames 计数
以下是我基于单独的选择语句的内容
select * from filterselect count(*) from surnames where last_name like 'Aabe%' or last_name like 'Aaby%' group by last_name;
由于记录数很大,我该如何为此条件编写内部查询?
【问题讨论】:
-
...JOIN on SURNAMES.surnames LIKE CONCAT(FILTER.filter,'%') -
select * from surnames, filters where filters.id > 4215 JOIN on SURNAMES.last_name LIKE CONCAT(filters.filter,'%') ??如果我错了,请纠正我。非常感谢!!
-
select *,COUNT(*) from surnames join filters on SURNAMES.last_name LIKE CONCAT(filters.filter,'%') where filters.id > 4215 group by last_name -
有效。非常感谢。我不知道如何将这个答案标记为正确。
-
@Mihai 您能否将您的评论添加为答案,以便 OP 将其标记为已接受并结束此问题?
标签: mysql database sql-like inner-query