簡體   English   中英

連接三個SQL查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM