2017-09-13 4 views
0

私は都市の列を持つ200,000以上の行を持つリストテーブルを持っています。それは、以下のデータが含まれていることを仮定します他のレコードに含まれるフィールドの内容を検索

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つのクエリで得ることができますか?おかげさまで

答えて

1

テーブル名が 'cities'であるとします。次の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

関連する問題