我有一个加载了文本字符串的表,我需要在另一个表中的另一个文本字符串字段上进行子字符串匹配,然后吐出计数
CREATE TABLE `subdiv_names` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`names` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
)
和
CREATE TABLE 'property' (
...
'subdiv_name' varchar(70)
)
我试过了
SELECT count(*) AS count,
SUBSTRING(subdiv_names.subdiv, wp_realty_listingsdb.Subdivision) AS mtch
FROM wp_realty_listingsdb,subdiv_names
GROUP BY mtch
ORDER BY count DESC
但当然不是。
一些数据subdiv_names.name
700 Ocean Drive
Barclay Condo Apts
Bay Colony
Coral Bay
...
和 property.subdiv_name
Palm Beach Barclay Condo Apts Est 2
Old Jupiter Beach Road 700 Ocean Drive
Old Jupiter Beach Road 700 Ocean Drive
Palm Beach Barclay Condo Apts Est 2
Golfview Hgts 8 In Pb 24 Pgs 103 And 104
Bay Colony Heights
Paradise Cove At Palm Beach Lakes Condo
Palm Beach Barclay Condo Apts Est 2
WESTWOOD GARDENS
...
想要的结果
2 Old Jupiter Beach Road 700 Ocean Drive
3 Palm Beach Barclay Condo Apts Est 2
1 Bay Colony Heights
0 Coral Bay
...
最佳答案
您可以使用like
(或各种其他函数)来做到这一点:
select p.subdivis, count(*)
from props p inner join
subdiv_names n
on concat(',', p.subdivis, ',') like concat('%,', n.subdiv, ',%')
group by p.subdivis;
我不太清楚哪组数据对应哪张表。您可能需要交换表名称。
关于mysql - 获取从一个表中的全文字段到另一表中的另一个全文字段的总子字符串匹配计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172207/