[英]How to exclude general criteria value from group by
我有兩個表:
一種用於員工數據的
Employee
另一個用於員工休假的余額
VacBal
現在我想獲取每個雇員的當前休假余額,考慮是否emp_num = 0
那么這是所有雇員的general balance
,而不是特定雇員的
如果Employee表是這樣的樣本數據:
emp_num name
546 john
134 Ramy
和
像這樣的VacBal
emp_num bal_num bal_date
546 1 5-5-2015
546 2 6-5-2015
134 1 7-5-2015
0 3 2-2-2015
0 4 6-1-2015
我想要這樣的結果集:
emp_num name SUM(bal_num)
546 john 10 --->3+7
134 Ramy 8 --->1+7
這個怎么做 ?
您可以對SUM
使用相關的子查詢:
select e.emp_num, e.name, (select sum(vb.bal_num) from VacBal vb
where vb.emp_num in (e.emp_num,0))
from Employee e
SELECT e.emp_num,
name,
Sum(bal_num) + (SELECT Sum(bal_num)
FROM vacbal vb
WHERE emp_num = 0)
FROM employee e
inner join vacbal v on e.emp_num=v.emp_num
GROUP BY e.emp_num,
name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.