有部門表和部門管理員表,部門表比較常規,反常的是部門管理員表。這張表是etl整理出來的表,包含各部門的主管、秘書、機要員資訊等等。
下面把關鍵字段列出來:
部門表,department:
dept_code
dept_name
50040001
部門150040002
部門250040003
部門3部門管理員表,manager:
dept_code
emp_code
type_id
seq_id
50040002
0332811
50040002
0666712
50040002
1105321
50040003
1507511
type_id表示這個人的角色,type_id=1則為部門主管,type_id=2則為部門秘書,還有其它的可能不列舉了。
seq_id表示順序,因為有的部門會有多個主管和多個秘書,需要給他們乙個順序。同時,有的部門什麼都沒有,如部門1,在manager表裡根本沒有記錄。
我們的目標是,關聯出每個部門的主管資訊,沒有的話(確實有沒有主管的部門)為空,多個的話取第1個。輸出類似下面的結構:
dept_code
dept_name
emp_code
50040001
部門1null
50040002
部門201381
50040003
部門315075
我能寫的sql如下,簡直是裹腳布啊,不知道怎麼優化:
select
d.dept_code,
d.dept_name,
m.emp_code
from
department as d
left
join
(select
type_id,
dept_code,
emp_code
from
hrs.manager
where
type_id =
1and seq_id =1)
as m on
d.dept_code = m.dept_code
記乙個實用的sql查詢語句
最近要實現乙個,給定開始和結束日期,統計每天新增使用者數和新增訂單數的功能,如圖所示 該開始比較蠢,採用的方法是 可想而知,這種查詢的效率極低,所幸sql有一種sql語句恰好滿足了這種需求,比如我需要查詢訂單表每天新增的訂單數,可以這樣寫查詢語句 select date format created...
PHP 乙個sql問題
這兩天遇到乙個sql問題跟大家分享一下,其中的邏輯是這樣的。有乙個會員發布的資訊表,在這個表裡有會員id,資訊id,建立時間等字段。現在有乙個需求是讀出來這個表裡的最新的16條資訊,這是其中的乙個條件,但是為了防止 會員刷屏每個會員的最新的資訊最多只能顯示3條。也就是2個條件 條件1 查詢表裡最新的...
樹結構查詢 乙個SQL解決問題
在公司論壇上看到乙個同事得求助帖,問題如下 有兩個表結構和資料分別如下 org 機構基本資訊表 org id 機構id org name 機構名稱 1 立案處 21科 32科4調查處 53科 61科72科 83科9處理處 101科 112科 113科 rel 機構關係表 org id 機構id pa...