mysql如何根據很多子節點查詢出父節點,只要一條路徑上的

2021-04-28 15:10:49 字數 1524 閱讀 1260

1樓:匿名使用者

select sys_connect_by_path(列名,'>') from 表名抄

start with 列名='0000000001'

connect by prior 列名(孩子列所有的列名)=列名(父列所有的列名)

這個查出來的樣式如下:

000000000001>00000000>0000不知道是不是你想要的。

sql語句查詢出一個父節點下的所有子節點

2樓:西安_白小鵬

假如你的表名字是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

3樓:匿名使用者

同一個表不能差出來的

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

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

4樓:旁新樹昂然

根據你問題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』)

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

5樓:匿名使用者

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

and a.username='user1'

6樓:匿名使用者

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

如何看mysql版本,如何檢視mysql版本

1 status 2 select version 如何看mysql版本 1 使用命令列模式進入mysql會看到最開始的提示符your mysql connection id is 3server version 5.1.69 source distribution 2 命令列中使用status可以...

mysql錶行資料根據某個相同欄位合併的的sql語句怎麼寫

使用group concat函式。select group concat 查詢的欄位 separator from table 同一個表中,如何寫sql語句查詢某一欄位重複的記錄?select t1.a from table t1 where exists select 1 from table t...

mysql如何更新mysql的最大連線數max

修改最大連線數 方法一 修改配置檔案。推薦方法一 進入mysql安裝目錄 開啟mysql配置檔案 my.ini 或 my.cnf查詢 max connections 100 修改為 max connections 1000 服務裡重起mysql即可.方法二 命令列修改。不推薦方法二 命令列登入mys...