我有這個表:SQL查詢查找所有可能的路徑
create table testtb (c1 number, c2 number);
insert into testtb values (1, 100);
insert into testtb values (2, 100);
insert into testtb values (3, 100);
insert into testtb values (3, 101);
insert into testtb values (4, 101);
insert into testtb values (5, 102);
commit;
我掙扎拿出SQL查詢將返回以下結果時,where子句是這樣的:「C2 = 100」
結果集:
c1 c2
-- ---
1 100
2 100
3 100
3 101
4 101
原因結果集包含「3101」,是因爲它是通過「3100」到達。和「4,101」相同:可通過 - >「3,101」 - >「3,100」。
更新:此表包含來自相似性加入後的2個不同數據集的標識符。所以這個想法是允許用戶通過任何標識符搜索並顯示兩個數據集之間的所有可能的匹配。這就是爲什麼當用戶搜索「c2 = 100」時,我還想顯示「3,101」和「4,101」來顯示完整匹配圖。
謝謝。
你能解釋一下多一點什麼行代表什麼?爲什麼3,100行將其他兩項添加到結果中? – 2011-02-23 22:01:14
也許給我們你現在擁有的東西,這樣我們就可以看到你想要做的事情。 – 2011-02-23 22:03:11
你在找「CONNECT BY」嗎?是否有限制級數 - 大概至少有2個級別來獲得'4,101'條目。但它不是很清楚你需要什麼...... – 2011-02-23 22:07:29