2013-06-13 33 views
0

所以我試圖對3個不同的表進行查詢。一個是department表,一個是branch表,另一個是employee表。我有4個不同的分支機構,3個不同的部門和員工可以在任何分支機構的任何部門工作。我的查詢查找擁有超過1個部門的分支機構,員工都在這個部門工作。試圖蒸餾我的sql查詢,所以我得到一個表結果

我做了以下查詢:

select b.name, d.dept_id, count(*) 
from department d join employee e 
on d.dept_id = e.dept_id 
join branch b 
on b.branch_id = e.assigned_branch_id 
group by b.name, d.dept_id; 

這使我的分支名稱,後跟處,並在該分支部門工作的員工的數量。所以我得到了重複的分公司名稱,該名稱有多個部門,員工在該部門工作。

我的問題我怎樣才能返回分支或分支機構的名稱,有多個部門,員工在其中工作?

現在該查詢返回此:

Headquarters 1 5 
Headquarters 2 1 
So. NH Branch 1 3 
Headquarters 3 3 
Woburn Branch 1 3 
Quincy Branch 1 3 

任何幫助,將不勝感激

+0

結果列表是分支,部門,員工 – karmalaa

+0

是sql server還是oracle?衝突的標籤。上面你希望的輸出是什麼,只是總部? –

回答

0

這個怎麼樣?

select b.name 
from department d 
    join employee e on d.dept_id = e.dept_id 
    join branch b on b.branch_id = e.assigned_branch_id 
group by b.name 
having count(distinct d.dept_id) > 1 
+0

真棒,謝謝!它做到了。 – karmalaa

相關問題