Найти сотрудников с ожидаемой зарплатой - PullRequest
0 голосов
/ 17 октября 2019

Существует таблица - «EmpSalary» - с идентификатором сотрудника, датой выплаты заработной платы и суммой заработной платы. Когда заработная плата выплачивается за сотрудника, запись будет размещена в этой таблице. Я хочу узнать сотрудников, чья заработная плата находится в процессе (означает, что зарплата не выплачивается или частично выплачивается) до определенного месяца в текущем году. Все сотрудники доступны в таблице «Сотрудник». Я использую SQL Server 2005

EmpID   SalDate     Amount      AmtPending
------  -------     -------     ----------
1       3 Jan 2019  5000        0
2       4 Jan 2019  3000        500
3       4 Jan 2019  4000        0

1       4 Feb 2019  4500        500
3       4 Feb 2019  4000        0

1       3 Mar 2019  5000        0

Ожидаемый результат - в ожидании до февраля

EmpID   Amount
------  ------
1       500
2       4000     --500 from Jan + 3500 from Feb

Так как 3 не ожидает до февраля, нет необходимости отображать 3

1 Ответ

0 голосов
/ 17 октября 2019

Вы просто хотите group by и having?

select empid, sum(amtpending)
from empsalary
group by empid
having sum(amtpending) > 0;
...