SQL語句查詢出父節點下的所有子節點

2021-03-08 20:13:02 字數 1250 閱讀 2470

1樓:西安_白小鵬

假如你的表名字是tt,建立下面的儲存過程,使用儲存過程即可查詢。

create proc querytree

@user varchar(100)

as begin

declare @id int

declare @t_tmp table(id int,username varchar(100),parentid int)

insert into @t_tmp select * from tt where username=@user

while(@@rowcount>0)

begin

insert into @t_tmp select * from tt where parentid in (select id from @t_tmp) and id not in(select id from @t_tmp)

endselect * from @t_tmp where username<>@userend

2樓:匿名使用者

同一個表不能差出來的

不過下面這句可以實現差出所有有父id的條目 如果要在加上 user1那就不行了

select * from user where parentid in (select id from user)

3樓:旁新樹昂然

根據你問題user2,3,4都是user1的子使用者,這個表的parentid就是錯誤了,parentid只想是它父節點

idusername

parentid

1user1 02

user2 13

user3 14

user4

1查詢語句就是

select

*from 表名

where

parentid=(select

idfrom

表名where

username=『user1』)

語句的寫法有很多種,這是其中一種

4樓:匿名使用者

select b.* from tablename a,tablename b where a.id<=b.parentid

and a.username='user1'

5樓:匿名使用者

樓主,我完全沒看明白你的意思。欄位之間的關係你都沒有說清楚。

sql查詢語句的問題,sql查詢語句問題?

日期欄位存的是日期型別 2020 03 25 還是時間型別 2020 03 25 12 03 01 如果是後者,那查詢時需要帶上時間點 日期 2020 03 25 and 日期 2020 03 25 23 59 59 前面不帶時間的預設是2020 03 25 00 00 00,後面帶時間的包含了25...

sql查詢問題,sql語句的問題?

定位字串中 取子串,轉為整數,儲存在一個記憶體表中。執行動態了。sql語句的問題?在sql server中兩者沒有區別,但在oracle的sql語句中,delete from是不標準的語法,執行無法通過。oracle下執行delete from語句 成功 oracle下執行delete from語句...

sql語句,統計子查詢的總和,SQL語句,統計子查詢的總和。

select sum storage in product m.price scanlog m.qty as price from storage in product m,scanlog m where storage in product m.storage in id scanlog m.st...