Объединение трех запросов sql
Я использую SQL Server 2000, поэтому не могу использовать CTE
DECLARE @reportdate AS DATETIME
SET @reportdate='08/26/2013'
1-й запрос
SELECT SUM(NENTEREDACD) AS calls,
DINTERVALSTART
FROM dbo.QUEUESTATS
WHERE ( DINTERVALSTART > @reportdate + ' 00:00:00.000' )
AND ( DINTERVALSTART < DATEADD(d, 1, @reportdate) + ' 00:00:00.000' )
GROUP BY DINTERVALSTART
ORDER BY DINTERVALSTART
2-й запрос
SELECT count(cname) AS AvaiAgents,
dintervalstart AS startdatetime
FROM (SELECT dintervalstart,
cname
FROM [dbo].[AGENTSTATS]
GROUP BY dintervalstart,
cname
HAVING ( DINTERVALSTART > @reportdate + ' 00:00:00.000' )
AND ( DINTERVALSTART < DATEADD(d, 1, @reportdate) + ' 00:00:00.000' )) T
GROUP BY T.dintervalstart
3-й запрос
SELECT count(cname) AS ActiveAgents,
dintervalstart AS startdatetime
FROM (SELECT dintervalstart,
cname
FROM [dbo].[AGENTSTATS1]
GROUP BY dintervalstart,
cname
HAVING ( DINTERVALSTART > @reportdate + ' 00:00:00.000' )
AND ( DINTERVALSTART < DATEADD(d, 1, @reportdate) + ' 00:00:00.000' )) T
GROUP BY T.dintervalstart
Я хочу получить только записи из первого запроса, поэтому это должно быть примерно так, поэтому мне нужно получить три столбца из трех разных запросов. Обычная вещь - метка времени
I inetval Calls Avaiagents Active agents
08/26/2012 20 22 23
1 ответ
cte - это просто производные таблицы с ключевым словом using. Можете ли вы сделать это по старинке?
select somefields
from a_table join
(select etc) temp on t.something = a_table.something