select * into #sb from ( select row_number()over(order by [TIME])序号, [TASK_ID]巡查编码,s.[ISSUE_ID]上报编码, case[ISSUE_TYPE_ID]when 1066 then'设施正常'when 1067 then'设施漏水上报'when 1069 then'设施埋压上报'when 1068 then'设施损坏上报'when 1070 then'设施无法巡检'end 上报类型, [TIME]上报时间,case[STATUS]when 0 then'已上报'when 1 then'有效'when 2 then'已转工单'when -1 then'无效单'when -2 then'已处理'end[上报状态], [ADDRESS]上报地址,[COMMENT]上报内容, u.[PARENT_ORGANIZATION_ID]公司id,u.[PARENT_ORGANIZATION_CODE]公司code,u.[PARENT_ORGANIZATION_NAME]公司, u.[ORGANIZATION_ID]供管站id,u.[ORGANIZATION_CODE]供管站code,u.[ORGANIZATION_NAME]供管站,[REPORTPERSON]巡查员id,u.[USER_NAME]巡查员, case x.[FACILITY_TYPE]when 1 then'阀门'when 2 then'水表'when 3 then'消火栓'when 4 then'排气阀'end 设施类型 ,x.[FACILITY_NAME]设施名称 ,x.[OBJECT_ID]对象编号 ,x.[BH]设施编号 ,x.[CALIBER]口径 ,x.[X]X坐标 ,x.[Y]Y坐标 ,x.[PRPE_ROOF_DEPTH]高程 ,x.[XSS_BH]消火栓柱体编号 ,x.[XSS_ADDRESS]消火栓详细地址 ,x.[FACILITY_DESCRIBE]设施异常详情描述 ,case x.[WORK_TYPE]when 1 then'转维修消火栓工单'when 1 then'转水表阀门及井盖维修工单'end 上报转工单类型 ,case x.[GGZ_DISPOSAL]when 0 then'是'when 1 then'否'end 供管站能否处理 FROM [WAP_WORKSHEET].[dbo].[FW_TASK_OBJ_STATUS]s join [WAP_WORKSHEET].[dbo].[WS_ISSUE]w --问题上报总表 on s.[ISSUE_ID]=w.[ID] join [WAP_WORKSHEET].[dbo].[uvwapUserAndOrgan]u --用户信息表 on w.[REPORTPERSON]=u.USER_ID join [WAP_WORKSHEET].[dbo].[IS_FORM_XCSS]x --问题上报业务表 on s.[ISSUE_ID]=x.[ISSUE_ID] where [TIME]between @start and @end and [ISSUE_TYPE_ID]in(1066,1067,1068,1069,1070) )a where --(len('${type}')= 0 OR [上报类型]='${type}')and (LEN(@tree)=0 OR 公司id IN (SELECT ORGANIZATION_ID FROM #org) OR 供管站id IN (SELECT[ORGANIZATION_ID] FROM #org))
时间: 2023-10-10 12:06:01 浏览: 74
深入探讨:oracle中row_number() over()分析函数用法
这段代码也是SQL Server中的T-SQL语句,它的作用是查询出符合条件的问题上报数据,并将结果存储到名为#sb的临时表中(同样使用了SELECT * INTO语句)。其中,查询语句中的几个JOIN语句分别将问题上报数据、用户信息、问题上报业务数据关联起来,从而查询出问题上报数据所需的各种信息。查询条件中的[TIME]between @start and @end表示查询时间范围为从@start到@end之间的数据,[ISSUE_TYPE_ID]in(1066,1067,1068,1069,1070)表示查询上报类型为设施正常、设施漏水、设施损坏、设施埋压或设施无法巡检的数据。最后的where子句中的两个条件分别表示:如果@tree的长度为0,则查询所有公司和供管站的数据;否则,查询所选组织机构(即#org表中存储的数据)的公司和供管站的数据。
阅读全文