我有这个问题:
SELECT DATENAME(MONTH,dbo.fn_dstoffset(CREATED)) AS MON,
SR_AREA,
COUNT(*) AS COUNT
FROM S_SRV_REQ
WHERE (INS_PRODUCT = 'PS')
AND (dbo.fn_dstoffset(CREATED) BETWEEN '10/1/2015' AND '11/1/2015')
GROUP BY DATENAME(MONTH,dbo.fn_dstoffset(CREATED)),
SR_AREA
产生这个输出:
--------+-----------------------------+------
MON | SR_AREA | COUNT
--------+-----------------------------+------
October | Privacy Violation | 42
October | Renewal/New RX CII/Narcotic | 6422
October | Refill Hold | 851
October | Status of RX | 37937
October | Death Notification | 130
October | NULL | 1
October | Renewal/New RX Action Taken | 21074
October | Clinical Question | 6554
--------+-----------------------------+------
我有这种变化:
SELECT DATENAME(MONTH,dbo.fn_dstoffset(CREATED)) AS MON,
SR_AREA,
COUNT(*) AS COUNT
FROM S_SRV_REQ
WHERE (INS_PRODUCT = 'PS')
AND (dbo.fn_dstoffset(CREATED) BETWEEN '10/1/2015' AND '11/1/2015')
AND (RESOLUTION_CD = 'External Referral')
GROUP BY DATENAME(MONTH,dbo.fn_dstoffset(CREATED)),
SR_AREA
产生这个输出:
--------+-----------------------------+------
MON | SR_AREA | COUNT
--------+-----------------------------+------
October | Identify Med Unavailable | 22
October | Tracking Available | 1451
October | Out of Rx | 3664
October | General Inquiry | 19
October | Renewal/New RX Failed Alert | 5887
October | Nursing Home Assist | 31
October | Renewal | 1
October | Tracking Unavailable | 680
--------+-----------------------------+------
如何组合这两个查询以使我的第二个计数并排到第一个。
答案 0 :(得分:1)
您可以使用CASE WHEN
结构执行此操作,如下所示:
SELECT DATENAME(MONTH,dbo.fn_dstoffset(CREATED)) AS MON,
SR_AREA,
COUNT(*) AS COUNT,
COUNT(CASE WHEN RESOLUTION_CD='External Referral' THEN 1 END) AS COUNT2
FROM S_SRV_REQ
WHERE (INS_PRODUCT = 'PS')
AND (dbo.fn_dstoffset(CREATED) BETWEEN '10/1/2015' AND '11/1/2015')
GROUP BY DATENAME(MONTH,dbo.fn_dstoffset(CREATED)),
SR_AREA