『壹』 求助,sql列出每個員工的領導的名稱。manager-id是領導的編號
select emp.first_name + emp.last_name as 員工姓名, manger.first_name + manger.last_name as 主管姓名
from 表名 emp
left outer 表名 manger
on emp.manger_id = manger.id
『貳』 SQL級聯查詢,部門表自連接,需要查出某個部門的上級部門及其上上級部門,上級部門無限個,如何查詢
用(select…start with…connect by…prior) 具體給你個參考地址:http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html
『叄』 sql求助如何依據一個人名,查出他的主管,依據他的主管查出他的主管的主管,依次類推,
select a.name as xm,a.leader as zg1,b.leader as zg2,c.leader as zg3
from user a
left join user b on a.leader=b.name
left join user c on b.leader=c.name
where a.name=name1
『肆』 sql server adventureworks查找員工的上級有多少層的遞歸是怎樣執行的
問題感覺沒表達清楚,你是希望讓大家幫你翻譯下這條sql還是說別的意圖?
另外就是 遞歸調用又是什麼意思?從現在的角度看,這里就是一條 內鏈接的表,
將員工表和 CTE表關聯。說明詳細點,請追問。
『伍』 sql語句查詢員工的上級,在同一張表中
是查上級和上上級的ID嗎,如果是語句
SELECT t1.Eid, t1.ename, t1.epid, t2.epid as sepid FROM employees t1 INNER JOIN employees t2 ON t1.epid = t2.Eid WHERE t1.ename='me'
『陸』 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.部門名稱
『柒』 一張表table,樹形結構,id唯一標識,name姓名,pid上級id, 求一條sql語句查詢出某人所有下屬員工
最好增加一個欄位Code,然後用所有父類ID和個人ID組成字元串
比如12/234/3456/7890
其中12為第一層,234為第二層,3456為第三層,7890為第四層本身ID
第三層是這個人的父類ID,第二層是第三層的父類。。。
然後查詢的時候,先獲取該員工的Code,
然後select * from table1 where code like 'Code%';
『捌』 用SQL如何列出所有員工的姓名及其直接上級的姓名
select Table1.ename Table2.ename from emp Table1,emp Table2 where Table1.mgr=Table2 .empno 追問: 嗯是的呢 回答: 上面的不能運行嗎?我在Sql Server裡面測試過了沒問題的。 提問者 的感言: 嗯可以了 你這個意思我大概明白了 也算比較好懂 麻煩你了 2009-08-24其他回答(4) 熱心問友 2009-08-24差不多 追問: 可是不能出結果啊 高手幫忙看看 回答: 查詢上級表中是否存在員工的名稱么 補充: 欄位沒問題么 追問: 當然有的 可是不知道如何查詢簡單的就是select mgr,ename from emp可是規定要用子查詢來寫還是不能太熟練的掌握 麻煩指點指點 回答: 我是說你的員工姓名的欄位在 上級表中是否存在或是 關聯 主外鍵關系 ? 追問: 不存在的 回答: 什麼不存在的啊 ...附耳細說6級2009-08-24不對select ename (select *** from *** where ****** ) mgr from emp derek9級2009-08-24 select emp.ename,emp1.ename as mgrename
from emp left outer join (select empno from mgr) emp1
on emp.mgr=emp1.empno 補充: 忘了取ename,改成
select emp.ename,emp1.ename as mgrename
from emp left outer join (select empno,ename from mgr) emp1
on emp.mgr=emp1.empno
考慮有的emp可能沒有上級
『玖』 sql 一個表中 員工名稱、員工號、上級號、 然後要求查詢所有員工 和其直接上級,這么干是不是有病
這里假設上級號也就是同一張表裡的員工號,而且員工號無重復。
同表連接可用表起別名的辦法避免混淆,為了讓沒有上級的員工也能被查出來,這里使用left join聯接。實現SQL語句如下:
select a.員工號,a.員工名稱,
b.員工名稱 as 上級名稱 from
員工表 a left join 員工表 b
on b.員工號=a.上級號;
『拾』 sql問題,一個員工可能有一個上級部門,可能有多個上級部門,如何查詢查詢這個員工所在的頂級部門。
沒有表結構。不能回答。