我有一个加载了文本字符串的表,我需要在另一个表中的另一个文本字符串字段上进行子字符串匹配,然后吐出计数
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
...
答案 0 :(得分:1)
您可以使用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;
我无法确定哪组数据与哪个表对应。您可能需要交换表名。
答案 1 :(得分:0)
如果我理解问题是正确的,那么我就不需要substring
。我认为LIKE
可以解决问题。
如果您可以提供您期望的快照,我们可以为您尝试或进一步详细说明问题。