У меня есть две таблицы, employee
и employee time entry
. Я выполнил запрос, который показывает мне всех сотрудников с суммой введенного времени или 0 как нулевое значение. В следующей колонке у меня есть номер недели. Если сотрудник не ввел время в течение недели, чем он дает мне 0, но он также дает мне нулевое значение на номере недели. как я могу заставить запрос показывать номер недели, предполагая, что сотрудник не сделал никакой записи.SQL, чтобы показать дату для значения Null на основе запроса
Select
Concat(Empfname,Emplname) as EmployeeName,
department,
iif (sum(whours) is null, 0, sum(whours)) CurrentHours,
Datepart (ww,wdate) WeekNum
From
employee as e
left outer join
TimeEntry as w on e.id = w.eId
and wdate between '01/01/2017' and '01/31/2017'
group by
Concat(Empfname,Emplname), department, Datepart(ww, wdate)
Выход
EmployeeName Department CurrentHours WeekNum
------------------------------------------------
John Smith Sales 8 1
Smith John Operations 0 Null
Как я могу сказать, что это тоже из WEEKNUM 1?
Благодаря
Если работник не сделал запись для времени, как вы узнаете, что она принадлежит неделе1? – GurV
Какой номер недели вы хотели бы отобразить, если запись не была сделана? – Mureinik
Вы можете использовать 'coalesce (Datepart (ww, wdate), 1)', если вы хотите, чтобы это было 1 incase, оно получилось null – GurV