原sqlite陳述句
with temp(cz_id,no1,no2)
as
(
select * from node
where no1>0
union
select t.* from node t,temp
where temp.no2 = t.no1 or temp.no1 = t.no2 or temp.no2 = t.no2 or temp.no1 = t.no1
) select * from temp
希望有大神能幫忙轉化成Oracle10g陳述句?
uj5u.com熱心網友回復:
10g 不支持這種遞回查詢。
樓主百度一下 connect by ,這個可以實作你的需求。
uj5u.com熱心網友回復:
connect by 只能父查子或子查父,帶有方向性,我這個no1和no2不具有父子關系,我之前試了不行
select * from test0407 t0 where t0.rowid not in(
select distinct rowid from test0407 t1
start with (t1.no1 > 0 or t1.no2 > 0)
connect by nocycle (prior t1.no1 = t1.no1 or prior t1.no1 = t1.no2 or prior t1.no2 = t1.no1 or prior t1.no2 = t1.no2)
)
;
uj5u.com熱心網友回復:
這個我一查詢幾百行的時候就特別慢,資料量少還好查,能優化下嗎
select * from test0407 t0 where t0.rowid not in(
select distinct rowid from test0407 t1
start with (t1.no1 > 0 or t1.no2 > 0)
connect by nocycle (prior t1.no1 = t1.no1 or prior t1.no1 = t1.no2 or prior t1.no2 = t1.no1 or prior t1.no2 = t1.no2)
)
;
uj5u.com熱心網友回復:
這個我一查詢幾百行的時候就特別慢,資料量少還好查,能優化下嗎
select * from test0407 t0 where t0.rowid not in(
select distinct rowid from test0407 t1
start with (t1.no1 > 0 or t1.no2 > 0)
connect by nocycle (prior t1.no1 = t1.no1 or prior t1.no1 = t1.no2 or prior t1.no2 = t1.no1 or prior t1.no2 = t1.no2)
)
;
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......