網易新聞的蓋樓樂趣多,某一天也想實現諸如網易新聞跟帖蓋樓的功能,無奈技術不佳(基礎不牢),網上搜尋了資料才發現sql查詢方法有一種叫遞迴查詢,整理如下:
一、查詢出 id = 1 的所有子結點
with my1 as結果包含1這條記錄,如果不想包含,可以在最後加上:where id <> 1(select * from table where id = 1 union all
select table.* from my1, table
where my1.id = table.fatherid)
select * from my1
二、查詢出 id = 2 的所有父結點
with my1 as三、刪除 id = 1 的所有子結點(包括id = 1結點)(select * from table where id = 2 union all select table.*
from my1, table where my1.fatherid = table.id )
select * from my1;
with my1 as本文摘自木莊網路sql遞迴查詢實現跟帖蓋樓效果(select * from table where id = 1 union all select table.*
from my1, table where my1.id = table.fatherid )
delete from table where exists (select id from my1
where my1.id = table.id)
mysql實現父子遞迴查詢sql
在很多業務場景中,我們需要從資料庫查詢一些樹狀結構的資料,多半以id,pid的形式儲存記錄。在oracle中,能夠通過語法輕鬆實現父子級間的遞迴查詢,無論到父,子,孫,曾孫等多少級,都能查出來。但是在mysql中,就沒有像oracle中那樣有現成的語法直接呼叫了。設表test有以下字段 id,nam...
遞迴查詢SQL
lz需要的修改自己為對應的,csdn sqlserve大版主 鄒建 我轉貼並且完善一下 測試資料 create table tb id char 3 pid char 3 name nvarchar 10 insert tb select 001 null 山東省 union all select ...
SQL遞迴查詢
create table t bid int,p bid int insert into t select 1,null union all select 2,1 union all select 3,1 union all select 4,3 union all select 5,4 union...