這些都是表:dbo.application
,dbo.action
,dbo.ogpo_dept
和dbo.employees
選擇加入
| ID | dept_id | action | premium | | ID | Name |
------------------------------------ -----------------
| 1 | 5 | 21 | 61446 | | 21 | Stiker |
| 2 | 11 | 18 | 325 | | 18 | One Super|
| 3 | 5 | null | 224 |
| 4 | 11 | 18 | 262 |
| ID | Name | | ID | FullName | dept_id |
--------------------------- ---------------------------
| 5 | Sales Dep | | 1 | Mike | 5 |
| 11 | HR Dep | | 2 | Ronaldo | 11 |
我的查詢:
select od.name as dept_name,
e.Fullname,
oac.name,
COUNT(oa.id) as total,
SUM(oa.premium) as premSum
from dbo.ogpo_dept od
inner join dbo.employees e on e.dept_id = od.id
left join dbo.application oa on oa.dept_id = od.id
left join dbo.action oac on oac.id = oa.[action]
group by dept_name, e.Fullname, oac.name, oa.[action]
查詢執行很長一段時間(沒有按完成)。
我試過了,如果要刪除SUM (premium) as premSum
那就執行了。
我想收到這樣的結果:
| Dept_name | FullName | Name | total | premium |
-----------------------------------------------------
| Sales Dep | Mike |One Super |68 | 40210 |
| HR Dep | Ronaldo |NULL | 0 | Null |
如果它沒有完成您可能會被詢問對鎖定的表,如果它只是很慢檢查執行計劃或競爭查詢。 –
@Hart CO,最後不要輸出結果 – Zhandos
我試着創建一個sqlfiddle,但是你的模式並沒有和你的樣本一樣的結構。你能幫我們解決嗎? http://sqlfiddle.com/#!6/9bc32/2 –