SET SHOWPLAN_TEXT ON
GO
-- Ваш запрос
SELECT d.DestHost, u.Name, send=SUM(w.sent)
FROM WebFact as w, -- Факты
VIH as T, -- 20 самых посещаемых хостов
Users as U, -- Юзеры
Dest as d -- Хосты
WHERE DatePart(mm,w.Date)=DatePart(mm,GetDate())
and w.DestHostID = T.DestHostID
and w.UserNameID = u.UserID
and w.DestHostID = d.DESTID
GROUP BY u.Name, d.DestHost
ORDER BY u.Name, d.DestHost, send DESC
GO
-- вариант
SELECT d.DestHost, u.Name, send=SUM(w.sent)
FROM ( select DestHostID, UserNameID , DestHostID from WebFact WHERE DatePart(mm, Date)=DatePart(mm,GetDate()) ) w -- Факты за текущий месяц
inner join VIH T on w.DestHostID = T.DestHostID -- 20 самых посещаемых хостов
inner join Users U on w.UserNameID = u.UserID -- Юзеры
inner join Dest d on w.DestHostID = d.DESTID -- Хосты
GROUP BY u.Name, d.DestHost
ORDER BY u.Name, d.DestHost, send DESC |