SQL 記乙個查詢問題

2021-10-01 16:54:00 字數 1161 閱讀 1020

有部門表和部門管理員表,部門表比較常規,反常的是部門管理員表。這張表是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...