У меня следующий запрос:
select a.IsCancelled, count(*) from tblTask a
inner join tblTicket t on a.TicketID = t.TID
group by a.IsCancelled
, который дает мне что-то вроде:
IsCancelled Count
0 7851
1 11235
Скажем, я хотел добавить еще один столбец с процентами относительно каждой строки,Я должен получить следующее:
IsCancelled Count Ratio
0 7851 0.41135
1 11235 0.58865
Это называется Pivot, правильно?Как бы я выполнить этот расчет?Что я добавлю к моему запросу выше, чтобы это произошло?Спасибо;)
РЕАЛИЗАЦИЯ
Я закончил тем, что немного изменил ответ Дахо следующим образом:
declare @tbl table (IsCancelled bit, [Count] int)
insert into @tbl
select a.IsCancelled, count(*) [Count] from tblTask a
inner join tblTicket t on a.TicketID = t.TID
group by a.IsCancelled
select IsCancelled, [Count], round(cast([Count] as float)/(select sum([Count])
from @tbl),5) [Ratio] from @tbl