2017-09-13 61 views
0

我已经有超过20万的行与列城的清单表。假设它包含以下数据:搜索包含在其他领域的记录内容

rowid city 
1  Toronto 
2  Milton 
3  Hamilton 
4  Delhi 
5  New Delhi 
6  Markham 

我想找到所在城市包含在另一行中的所有记录,例如米尔顿(第2行)被包含在哈密尔顿(第3行)和德里(行4)包含在新德里(第5行)。我期待以下输出:

rowid city rowid2 city2 
2  Milton 3  Hamilton 
4  Delhi 5  New Delhi 

单个查询是否可以获取我要查找的输出? 谢谢。

回答

1

假设表名是“城市”。下面的SQL查询应该工作:

select 
    c2.rowid, c2.city, c1.rowid, c1.city 
from 
    cities c1 
inner join 
    cities c2 
    on instr(c1.city,c2.city) 
    and c1.rowid != c2.rowid 
+0

大。解决方案简单谢谢。 – user761100