" " , kludge, . , , "" - , - . 3NF, , , . , , , :
SELECT
SQ.last_day,
SQ.all_billable_total,
SQ.avg_billable_total,
LU.billable AS employee_billable_total
FROM
(
SELECT
E.last_day,
SUM(E.billable) AS all_billable_total,
AVG(E.billable) AS avg_billable_total,
FROM
Employees
WHERE
name NOT LIKE '$lookup%'
GROUP BY
E.last_day
) SQ
LEFT OUTER JOIN Employees LU ON
LU.name LIKE '$lookup%' AND
LU.last_day = SQ.last_day
, , . , - :
SELECT
E.last_day,
SUM(CASE WHEN name = @name THEN E.billable ELSE NULL END) AS all_billable_total,
AVG(CASE WHEN name = @name THEN E.billable ELSE NULL END) AS avg_billable_total,
SUM(E.billable) AS employee_billable_total
FROM
Employees E
WHERE
E.last_day IN (SELECT last_day FROM Employees WHERE name = @name)
GROUP BY
E.last_day
NULL CASE, 0 .