Контекст
У меня есть это представление / выставка, в котором перечислены записи с датой отправки, именем клиента, позицией клиента, типом отказа, итоговой суммой IDClientPosition и итоговой суммой IDRefusal. Я использую его, чтобы проверить, сколько претензий, отправленных на каждую дату, было принято, отклонено и почему им отказал каждый клиент (У меня есть связанные таблицы для использования для ClientPosition, Refusal и Client)
DtSent | IDClient | IDClientPosition | TOTAL Position | IDRefusal | TOTAL Refusal
---------------------------------------------------------------------------------------------
2020-01-10 1 1 40 NULL 0
2020-01-10 1 1 3 7 3
2020-01-10 1 2 1 NULL 0
2020-02-10 2 2 27 1 27
2020-02-10 2 2 13 2 13
Запрос до сих пор, который показывает вышеуказанные значения:
SELECT TOP (100) PERCENT dbo.LBA.DtSent, dbo.Claims.IDClient, dbo.LBA.IDClientPosition,
COUNT(dbo.LBA.IDClientPosition) AS [TOTAL Position], dbo.LBA.IDRefusal,
COUNT(dbo.LBA.IDRefusal) AS [TOTAL Refusal]
FROM dbo.LBA INNER JOIN
dbo.ClientPositionLBA ON dbo.LBA.IDClientPosition =
dbo.ClientPositionLBA.IDClientPositLBA LEFT OUTER JOIN
dbo.RefusalLBA ON dbo.LBA.IDRefusal = dbo.RefusalLBA.IDRefusal LEFT OUTER JOIN
dbo.Claims LEFT OUTER JOIN
dbo.Clients ON dbo.Claims.IDClient = dbo.Clients.IDClients ON
dbo.LBA.ClaimID = dbo.Claims.ClaimID
GROUP BY dbo.LBA.IDClientPosition, dbo.Claims.IDClient, dbo.LBA.IDRefusal, dbo.LBA.DtSent
Что я хотел бы
Я хотел бы добавить 2 столбца для процентов, основываясь на значениях ПОЛНОЙ Позиции и ПОЛНОГО ОТКАЗА.
При этом, помимо общих значений, которые у меня уже есть (количество), я мог бы также узнайте, сколько процентов заявок было принято, отклонено и с каким обоснованием (IDRefusal) на эту дату для каждого клиента. Подводя итог, это похоже на преобразование этих общих значений в процент.
В месяц должно быть около 100 записей на клиента в общей сложности 20 клиентов, поэтому необходимо учитывать производительность. Я пробовал разные вещи, которые нашел в Интернете, но безрезультатно.