【发布时间】:2016-05-31 21:27:19
【问题描述】:
希望有人能帮我解决这个问题。
我正在处理一个需要作为结果的查询,
- 办公室,
- 子程序,
- 服务类型,
- 约会日期在给定范围内的客户总数 日期且预约状态为“完成”,
- 开始日期在预约后 5 天内的客户总数 日期
我编写了以下代码来获取 Office、SubProgram、ServiceType 和 Total # Of Clients,其预约日期在给定日期范围内且预约状态为“完成”
SELECT
fa.new_sitename AS Office
,fs.new_subprogramname AS Subprogram
,Fsrv.NAME AS Servicetype
,COUNT(fa.new_clientidname) AS Total#OfClients
FROM
Firstappointment fa
INNER JOIN
FirstServiceAppointment fs
ON
fa.new_appointment id = fs.new_appointment lookup
INNER JOIN
FirstService Fsrv
ON
fa.new_service = Fsrv.serviceid
WHERE
fs.new_visittypename LIKE 'First'
AND fs.statuscodename LIKE 'done'
AND fa.createdon BETWEEN '05/18/2016' AND '05/30/2016'
GROUP BY
fa.new_sitename
,fs.new_subprogramname
,Fsrv.NAME
并编写以下代码来获取 Office、SubProgram、ServiceType 和 Total # Of Clients,其开始日期在约会日期后 5 天内
SELECT
COUNT(fa.new_clientidname) AS "Total # of Clients receiving FV within 5 days"
,fa.new_sitename AS Office
,fs.new_subprogramname AS Subprogram
,Fsrv.NAME AS Servicetype
FROM
Firstappointment fa
INNER JOIN
FirstServiceAppointment fs
ON
fa.new_appointmentid = fs.new_appointmentlookup
INNER JOIN
FirstService Fsrv
ON
fa.new_service = Fsrv.serviceid
WHERE
fs.new_visittypename LIKE 'first'
AND fs.statuscodename LIKE 'done'
AND fa.createdon BETWEEN '05/18/2016' AND '05/30/2016'
AND DATEDIFF(DAY, cast(fa.createdon AS DATE), cast(fs.scheduledstart AS DATE)) <= 5
GROUP BY
fa.new_sitename
,fs.new_subprogramname
,Fsrv.NAME
现在,如何将这两个结果集合二为一,使其类似于
Office, Subprogram, ServiceType, Total#OfClients (From First Query), Total # of Clients receiving FV within 5 days" (From Second Query)
【问题讨论】:
标签: sql tsql reporting-services