Я работаю над двумя запросами, которые извлекают данные из одной таблицы. Я могу заставить их работать так, как мне хочется, но я бы хотел объединить их, если это возможно. Я пробовал решение в [ нескольких выборок COUNT из одной и той же таблицы в одном запросе , но не смог выяснить это. Вот то, над чем я работаю:
--goback 30 days start at midnight
declare @daysgoingback as int
set @daysgoingback = 90
declare @olderdate as datetime
set @olderdate = DATEADD(Day, -@daysgoingback, DATEDIFF(Day, 0, GetDate()))
--today at 11:59pm
declare @today as datetime
set @today = dateadd(ms, -3, (dateadd(day, +1, convert(varchar, GETDATE(), 101))))
print @today
--these are the two queries I'd like to combine:
select
avg(x.LogAlerts*1.0 / @daysgoingback) as 'Avg number of log alerts'
from
(select count(*) as LogAlerts
from message_log_table
where msg_timestamp between @olderdate and @today) X
select
avg(x.MessagesDeleted*1.0 / @daysgoingback) as 'Avg number of messages deleted'
from
(select count(*) as MessagesDeleted
from message_log_table
where msg_details like '%message deleted%'
and msg_timestamp between @olderdate and @today) X