Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 填充同一报告中的第二个表,以计算从第一个表中的案例派生的相同值_Sql Server_Reporting Services - Fatal编程技术网

Sql server 填充同一报告中的第二个表,以计算从第一个表中的案例派生的相同值

Sql server 填充同一报告中的第二个表,以计算从第一个表中的案例派生的相同值,sql-server,reporting-services,Sql Server,Reporting Services,我有我报告中的第一个表,在其中我从SQL Server数据库检索数据。在这个表中,我创建了一个名为TYPEOFTRIP的新列,它是使用CASE表达式派生的(我从数据库的ORIGIN和DESTINATION中获取两列),基于这两列,我做了一个CASE并创建了该列(TYPEOFTRIP),基本上我写了(北行、南行、本地等)在同一份报告中,他们要求我提供另一张表,这是旅行类型的总计数 我目前有一个用于此报告的数据集,我计算的是将新列存储在#temp表中,并对其(typeoftrip)=“北行”、“东行

我有我报告中的第一个表,在其中我从SQL Server数据库检索数据。在这个表中,我创建了一个名为TYPEOFTRIP的新列,它是使用CASE表达式派生的(我从数据库的ORIGIN和DESTINATION中获取两列),基于这两列,我做了一个CASE并创建了该列(TYPEOFTRIP),基本上我写了(北行、南行、本地等)在同一份报告中,他们要求我提供另一张表,这是旅行类型的总计数

我目前有一个用于此报告的数据集,我计算的是将新列存储在#temp表中,并对其(typeoftrip)=“北行”、“东行”、“南行”进行计数,然后将其放在报告的第二个表中,但我无法使其工作。你能指引我吗

这是我的数据集中的数据

declare @d1 as datetime= case when @DataFor='Last24Hrs' then  CONVERT(date,DATEADD(day, -1, dateadd(hour,-2,getdate())),101) when @DataFor= 'SpecificDate' then @FromDate end

declare @d2 as datetime= case when @DataFor='Last24Hrs' then CONVERT(VARCHAR(10), dateadd(hour,-2,getdate()), 101) + ' 23:59' when @DataFor='SpecificDate' then @ToDate + ' 23:59' end


SELECT 
q.folio,
q.itemcode, 
ltrim(rtrim(convert(varchar,day(q.oactualdepart))+'-'+CAST(q.oactualdepart AS CHAR(3)))) as Date,
convert(date,q.oacualdepart) [date2], 
rtrim(ltrim(q.roueNo)) as Route,
ltrim(rtrim(q.trailer)) [trailer],
rtrim(ltrim(CASE WHEN q.spec ='HM' THEN 'Y' ELSE 'N' END)) as hazmat,
case when q.TollYN='YES' then 'Y' else 'N' end as Toll, 
ltrim(rtrim(q.LoadNumber)) as [File],
ltrim(rtrim(q.opname)) [operator],
rtrim(ltrim(q.tractor)) [tractor],
q.trailertype as [S/C/B],
'' as [Plan],
q.Origin,
convert(char(5), q.oActualDepart, 108) [HrsOut],
CONVERT(char(5),initdate,108) as InRed,
convert(char(5),q.mxCustomsInspDep,108) as OutRed, 
convert(char(5), q.processUS, 108) as CustOut,
q.destination, 
convert(char(5), q.dactualarrival, 108) as HrsIn, 
convert(char(5), q.dactualarrival-q.oactualdepart, 108) as XINGTIME ,
convert(char(5), q.m[enter image description here][1]CInspDep - initDate, 108) as RedTime,
ltrim(rtrim(tblissues.description)) as ISSUE,
q.tractorCarrier,
tc.CarrierName,
q.tractor+'-'+LEFT(tc.carriername,2) as [Unit Carrier],
CASE WHEN tc.CarrierName='ABCD' Then 'DED' ELSE 'FUM' END as [type],
DATEPART (week,q.oactualdepart) AS Week,
LEFT(DATEPART(minute,q.dactualarrival-q.oactualdepart)/60.00 + DATEPART (hour,q.dactualarrival-q.oactualdepart),3) as xbtime,
ff.frecfolio as frecuenciaf,
ft.frectrailer as frecuenciat,
CASE WHEN q.trailer='B' AND q.origin IN ('A','B','C') THEN 'LOCAL' 
     WHEN ff.frecfolio = 1 AND q.destination='YARD' THEN 'YARD'
     WHEN ff.frecfolio = 1 AND q.origin IN ('C','D','E') AND q.destination<>'YARD' THEN 'NORTHBOUND'
     WHEN ff.frecfolio = 1 AND q.destination='E' THEN 'WESTBOUND'
     WHEN ff.frecfolio > 1 AND q.destination IN ('A','B','C') THEN 'EASTBOUND'
     WHEN ff.frecfolio > 1 AND q.destination='X' THEN 'SOUTHBOUND'
     WHEN ff.frecfolio > 1 AND q.origin IN ('D','E','F') AND q.destination='YARD' THEN 'E SOUTHBOUND' 
     WHEN ff.frecfolio > 1 AND q.origin='W' THEN 'E EASTBOUND'
     ELSE ''END  typeoftrip


FROM 
qrydispatchview q
inner join (SELECT folio, COUNT(*) frecfolio FROM qrydispatchview WHERE convert(date,oactualdepart) BETWEEN @d1 and @d2 GROUP BY folio ) ff on ff.folio=q.folio
inner join (SELECT trailer, COUNT(*) frectrailer FROM qrydispatchview WHERE convert(date,oactualdepart) BETWEEN @d1 and @d2 GROUP BY trailer) ft on ft.trailer=q.trailer
left join tblCarriers tc on q.tractorCarrier=tc.id
left join tblupninspections on q.Id=tblupninspections.legid
left join tblissues on q.id_issue=tblissues.id_issue
where deleted <> 1 and  customer='ABC'
and convert(date,q.oactualdepart) between @d1 and @d2 /*and convert(date,getdate())*/ and itemcode in ('A','B','C')
order by 1
声明@d1为datetime=当@DataFor='last24小时'然后转换(date,DATEADD(day,-1,DATEADD(hour,-2,getdate()))时,101)当@DataFor='SpecificDate'时,@FromDate end
当@DataFor='Last24Hrs'时,将@d2声明为datetime=case,然后转换(VARCHAR(10),dateadd(hour,-2,getdate()),101)+'23:59'当@DataFor='SpecificDate'时,则@ToDate+'23:59'结束
挑选
q、 对开本,
q、 项目代码,
ltrim(rtrim(转换(varchar,day(q.oactualdepart))+'-'+转换(q.oactualdepart为CHAR(3)))作为日期,
转换(日期,q.oacualdepart)[date2],
rtrim(ltrim(q.roueNo))作为路线,
ltrim(rtrim(q.拖车))[拖车],
rtrim(ltrim(q.spec='HM'然后'Y'或'N'结束时的情况))作为危险品,
当q.TollYN='YES'然后'Y'else'N'以Toll结尾时,
ltrim(rtrim(q.LoadNumber))作为[File],
ltrim(rtrim(q.opname))[operator],
rtrim(ltrim(q.拖拉机))[拖拉机],
q、 拖车类型为[S/C/B],
“”作为[计划],
q、 起源,
转换(char(5),q.oActualDepart,108)[HrsOut],
将(字符(5),起始日期,108)转换为InRed,
将(字符(5),q.mxCustomsInspDep,108)转换为输出,
将(char(5),q.processUS,108)转换为CustOut,
q、 目的地,
将(char(5),q.dactualarrival,108)转换为HrsIn,
将(char(5),q.dactualRival-q.oactualdepart,108)转换为时间,
将(char(5),q.m[在此处输入图像描述][1]CInspDep-initDate,108)转换为RedTime,
ltrim(rtrim(tblissues.说明))作为问题,
q、 牵引车,
c.CarrierName,
q、 拖拉机+'-'+左侧(tc.托架名称,2)作为[单元托架],
当tc.CarrierName='ABCD'然后'DED'或'FUM'结束为[type]时的情况,
日期部分(周,q.oactualdepart)为周,
左(日期部分(分钟,q.dactualarrival-q.oactualdepart)/60.00+日期部分(小时,q.dactualarrival-q.oactualdepart),3)作为时间,
ff.frecfolio作为frecuenciaf,
作为frecuenciat的ft.frectrailer,
当q.trailer='B'和q.origin在('A','B','C')中时,则为'LOCAL'
当ff.frecfolio=1且q.destination='YARD'时,则为'YARD'
当ff.frecfolio=1,q.origin位于('C'、'D'、'E'),q.destination位于'YARD'时,则为'NORTHBOUND'
当ff.frecfolio=1且q.destination='E'时,则为'WESTBOUND'
当ff.frecfolio>1且q.destination位于('A','B','C')时,则为“东行”
当ff.frecfolio>1和q.destination='X'时,则为“南行”
当ff.frecfolio>1且q.origin位于('D'、'E'、'F')且q.destination='YARD'时,则为'E SOUTHBOUND'
当ff.frecfolio>1且q.origin='W'时,则为'E东行'
ELSE“”结束类型的Trip
从…起
qrydispatchview q
内部连接(从qrydispatchview中选择对开本,COUNT(*)frecfolio,其中通过对开本在@d1和@d2组之间转换(日期,oactualdepart)ff。对开本=q.folio
内部连接(从qrydispatchview中选择trailer,COUNT(*)frectrailer,其中在@d1和@d2之间转换(日期,oactualdepart)按拖车分组)ft on ft.trailer=q.trailer
q.tractorcharrier=tc.id上的左连接TBL载波tc
在q.Id=tblupninspections.legid上左连接tblupninspections
在q.id\U问题上左加入tblissues=tblissues.id\U问题
其中删除了1和customer='ABC'
在@d1和@d2/*之间转换(date,q.oactualdepart),在('A','B','C')中转换(date,getdate())*/和itemcode
按1订购

创建一个表,显示“总行程”,按“总行程”和“总计”分组。我尝试的是制作一个“表”,然后从“表”中检索此计数。typeoftrips但它给出了错误:“表附近语法不正确,ff附近语法不正确,ft附近语法不正确。”"... 我将#表放在From之前。您不需要临时表,只需使用现有的数据集并以不同的方式对其进行分组即可。