Я построил следующий запрос, который успешно запускает нужный мне отчет. Однако столбцы punch_in
и punch_out
не такие, как хотелось бы.
SELECT c.first_name as customer_name, ch.id as clean_home_id, sl.modified_date as punch_in,sl2.modified_date as punch_out, e.first_name as employee_name, ch.employee_id,isnull(chlog.timespent, 0) AS timespent
FROM clean_home_status_log sl
INNER JOIN clean_home ch on sl.clean_home_id = ch.id
INNER JOIN customer c on ch.customer_id = c.id
INNER JOIN employee e on ch.employee_id = e.id
INNER JOIN clean_home_status_log sl2 on sl.id = sl2.id
Outer APPLY GetCleanHomeKeeperTime(ch.id) chlog
WHERE (sl.new_status = 8 or sl.new_status = 9) and (c.id = 26749) and CONVERT(DATE,sl.modified_date) >= '2017-11-01' order by clean_home_id
Производит:
Josh 82104 2017-11-01 14:16:21.947 2017-11-01 14:16:21.947 Lupe 1334 1.01
Josh 82104 2017-11-01 15:17:02.303 2017-11-01 15:17:02.303 Lupe 1334 1.01
Josh 82105 2017-11-02 14:23:35.803 2017-11-02 14:23:35.803 Lupe 1334 1
Josh 82105 2017-11-02 15:23:27.233 2017-11-02 15:23:27.233 Lupe 1334 1
Как вы можете видеть, он дублирует каждую строку, показывая и показывая punch_in
время в первой строке и punch_out
время во второй строке каждого результата. То, что я хотел бы, это ...
Josh 82104 2017-11-01 14:16:21.947 2017-11-01 15:17:02.303 Lupe 1334 1.01
Показывает punch_in
и punch_out
время в одной строке
Чего мне не хватает?