У меня есть таблица с количеством свинца, optyid, именем сотрудника и квотой.Нужно два вычисленного поля, но на основе разных статей where
Я хотел бы написать запрос, который позволяет мне получить среднее количество свинца и сумму квоты от сотрудника.
Я думал, что это легко, но проблема в том, что количество свинца показывает 0 для строк, которые не содержат optyid, количество свинца отображается как 0 в качестве заполнителя. когда я беру среднее количество всех доступных свинцов, это неправильно, поскольку в комплект входит 0 штук. Чтобы избежать такого сценария, я написал следующий запрос.
SELECT
employeename,
avg(leadamount) AS [avglead],
0 AS QUOTA
FROM TABLE
WHERE TABLE.optyid IS NOT NULL
GROUP BY employeename
UNION
SELECT
employeename,
0 AS [avglead],
sum(quota) AS [QUOTA]
FROM TABLE
WHERE TABLE.optyid IS NULL
GROUP BY employeename
Есть ли все равно, чтобы объединить их вместе, чтобы я только вытащил из таблицы один раз? ТАБЛИЦА настолько велика, что для двух подзапросов требуется много времени. Я знаю, что, вероятно, я мог бы использовать левое соединение в одной таблице, но я не думаю, что это сэкономит много времени, поскольку ему еще нужно дважды запросить TABLE.
Я ценю любые входы
спасибо что работал отлично! – user2669043