我正在查詢我的資料庫,這是一個公司目錄。該公司目錄有三個獨立的表:員工、部門和地點。
我試圖查詢資料庫,以便我可以得到部門ID、部門名稱、地點ID、地點名稱以及該部門的作業人員數量等列。然而,我還需要它列出該部門,即使還沒有分配給它的作業人員。
我不確定應該使用什么型別的連接,但我知道我必須使用計數和groupBy函式。
我對SQL仍然很陌生,而且還不是很了解。我已經嘗試了一兩種方法,但都無濟于事。
下面是我的嘗試,它確實帶來了我想要的結果,但它排除了沒有作業人員的部門。
SELECT p.id, p.lastName, p.firstName, p.jobTitle, p.email, d.id。
d.name as department, l.name as location, COUNT(*)as totalStaff
FROM personnel p
LEFT JOIN department d ON (d.id = p.departmentID)
LEFT JOIN location l ON (l.id = d.locationID)
GROUP BY (d.id)
有人能提供幫助嗎?
uj5u.com熱心網友回復:
從部門開始,左鍵連接其他兩個表,將確保你總是得到所有的部門資訊,我似乎記得這是你在前一個問題中的原始問題
SELECT p.id, p.lastName, p.firstName, p.jobTitle, p.email,
d.id, d.name as department,
l.name as location,
COUNT(p.id) as totalStaff
FROM department d
LEFT JOIN personnel p ON (d.id = p.departmentID)
LEFT JOIN location l ON (l.id = d.locationID)
GROUP BY (d.id)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/320174.html
標籤:
下一篇:連接兩個表,同時包括空號

