[英]joining three sql queries
我正在使用SQL Server 2000,因此無法使用CTE
DECLARE @reportdate AS DATETIME
SET @reportdate='08/26/2013'
第一查詢
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
第二查詢
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
第三查詢
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
CTE只是帶有using關鍵字的派生表。 你能用老式的方式做到嗎?
select somefields
from a_table join
(select etc) temp on t.something = a_table.something
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.