select reverse(sys_connect_by_path(reverse(unit_name),'/'))
from "unit"
where unit_id ='根節點的unit_id'
start with unit_id = '當前節點的unit_id'
connect by unit_id = prior superior_unit_id
結果為 阿里巴巴/運營部/行政處/
當我們要查詢所有人的類似上述結果樣式的詳細組織情況的時候
只需要將人員表與組織表相關聯,然後在select中加入此select查詢結果作為組織名稱即可
類似
select
pi.uuid ,
pi.name ,
pi.*** ,
(select reverse(sys_connect_by_path(reverse(unit_name),'/'))
from "unit"
where unit_id ='根節點的unit_id'
start with unit_id = '當前節點的unit_id'
connect by unit_id = prior superior_unit_id) as unit_name,
pu.superior_unit_name,
pu.unit_name pname,
pu.superior_unit_id,
pi.post_job ,
pi.order_num,
pi.unit_id,
pi.user_id
from
user pi
left join
unit pu on pi.unit_id=pu.unit_id
where
pu.invalid='0'
and pi.invalid='0'
在django中使用sql語句查詢
django中提供了乙個raw 方法來使用sql語句進行查詢 class person models.model first name models.charfield max length 50 last name models.charfield max length 50 birth date...
在SQL查詢中使用LIKE來代替IN
在sql查詢中根據已知id的集合來查詢結果我們通常會用到in,直接在in後面給出id的集合或是在in後面跟乙個子查詢。如下 select from orders where orderguid in bc71d821 9e25 47da bf5e 009822a3fc1d f2212304 51d4...
在SQL查詢中使用LIKE來代替IN
在sql查詢中根據已知id的集合來查詢結果我們通常會用到in,直接在in後面給出id的集合或是在in後面跟乙個子查詢。如下 select from orders where orderguid in bc71d821 9e25 47da bf5e 009822a3fc1d f2212304 51d4...