『壹』 【緊急】求sql語句:已知parentID層級關系,求生成層級編碼的語句
你是想根據父級ParenID 查詢它的下級嗎? 是只是它的第一層下級還是還包括下級的下級呢?
如果只要第一層的下級的話 where code like '01010[1-9]' or code like '0101[1-9]%' 0101是你知道的父級ParenIDID 這樣寫是因為如果你的下級個數大於100個的情況 如何你下級在 100個以內 則只需要這樣寫 where code like '0101[0-9][0-9]' 如果你要所以下級則更簡單了 直接就是 where code like '0101[0-9]%' 這里之所以不寫成 '0101%'這樣 是因為如過寫成這樣 父級本身這條數據也會被查詢出來。這應該就是你的想要的吧。
『貳』 SQL,查詢層級
1 select 員工,部門 from tablename where 員工='P3';
2 select 部門,員工 from tablename where 部門='D'
『叄』 SQL樹形層級查詢
你好的!
oracle 的start with connect by
別的資料庫用cte 遞歸都能達到你要的效果!
望採納~
『肆』 sql如何根據資料庫做層次圖
方法/步驟
打開SQL Server 2005資料庫,進行登錄操作。
『伍』 SQL 多級查詢(級數不定)
select * from item where itemID=3 union all
select * from item where FDetail=0 and parentID <(select parentID from item where itemID=3)
and substring(Number,1,2) =(select substring(Number,1,2) from item where itemID=3)
and substring(Number,4,2) =(select substring(Number,4,2) from item where itemID=3);
說下思路,先把自己本身一條找出來,然後找他的上級,看你的數據知道parentID 一定小於本身的parentID ,並且是目錄的話FDetail=0,如果是其上級目錄,他們前邊的01.01什麼的都是一樣的,但是現在有個弊端,就是查詢前,要確定這個itemID=3的是屬於第幾級實體,然後才能採用後邊用多少個substring,另一個表itemID=3的條件沒用,其實就是一個嵌套,你自己寫里邊吧
『陸』 sql語句顯示層級
declare @t TABLE(ID char(3),PID char(3),Name nvarchar(10))
INSERT @t SELECT '001',NULL ,'山東省'
UNION ALL SELECT '002','001','煙台市'
UNION ALL SELECT '004','002','招遠市'
UNION ALL SELECT '003','001','青島市'
UNION ALL SELECT '005',NULL ,'四會市'
UNION ALL SELECT '006','005','清遠市'
UNION ALL SELECT '007','006','小分市'
;with cte as
(
select ID,name,level=0 from @t where PID is null
union all
select p.id,p.name ,level=level+1 from @t p join cte c on p.PID = c.ID
)
SELECT SPACE(Level*2)+''+Name
FROM cte
ORDER BY id
/*
山東省
煙台市
青島市
招遠市
四會市
清遠市
小分市
(7 行受影響)*/
『柒』 SQL要怎麼寫才能把 按員工查出他所在部門所有層級關系 。
WITHB1AS(
SELECT部門名稱,部門名稱一級部門,''二級部門,''三級部門,''四級部門,''五級部門FROM部門表WHERE層級=0),
B2AS(
SELECTB.部門名稱,B1.一級部門,B.部門名稱二級部門,''三級部門,''四級部門,''五級部門FROMB1JOIN部門表BONB.上級部門ID=B1.部門名稱WHEREB.層級=1),
B3AS(
SELECTB.部門名稱,B2.一級部門,B2.二級部門,B.部門名稱三級部門,''四級部門,''五級部門FROMB2JOIN部門表BONB.上級部門ID=B2.部門名稱WHEREB.層級=2),
B4AS(
SELECTB.部門名稱,B3.一級部門,B3.二級部門,B3.三級部門,B.部門名稱四級部門,''五級部門FROMB3JOIN部門表BONB.上級部門ID=B3.部門名稱WHEREB.層級=3),
B5AS(
SELECTB.部門名稱,B4.一級部門,B4.二級部門,B4.三級部門,B4.四級部門,B.部門名稱五級部門FROMB4JOIN部門表BONB.上級部門ID=B4.部門名稱WHEREB.層級=4),
BAS(
SELECT*FROMB1
UNIONALL
SELECT*FROMB2
UNIONALL
SELECT*FROMB3
UNIONALL
SELECT*FROMB4
UNIONALL
SELECT*FROMB5)
SELECTID,姓名,一級部門,二級部門,三級部門,四級部門,五級部門FROMBJOIN員工表YONY.部門=B.部門名稱
『捌』 有層級的,怎麼用sql查詢返回結果
樹形結構的查詢。
你需要說明一下, 你的資料庫是什麼資料庫。
Oracle 使用 START WITH CONNECT BY 語句實現樹狀查詢
DB2 與 MySQL 使用 CTE 遞歸處理來實現。