sql ping zhuang
--创建时间2006-08-03
--创建人 csj
slope查询
--根据slope查询页面录入的查询条件,获得满足该条件的记录
/*
[0]: "R-RMI-ST-30000C00010-20060928"
[1]: ""
[2]: ""
[3]: ""
[4]: ""
[5]: ""
[6]: "-1"
[7]: "-1"
[8]: ""
[9]: ""
select * from inspection where insp_no ='R-RMI-ST-30000C00010-20070904'
select * from inspection where insp_no like 'R-RMI-ST-30000C00010-%'
*/
ALTER PROCEDURE prc_SearchSlope
@INSP_NO VARCHAR(50)='R-RMI-ST-30000C00010-20061114',
@INSP_DATE_FROM VARCHAR(25)='',
@INSP_DATE_TO VARCHAR(25)='',
@SUB_DATE_FROM VARCHAR(25)='',
@SUB_DATE_TO VARCHAR(25)='',
@LOCATION VARCHAR(255)='',
@HYD_REG_NO VARCHAR(255)='',
@AI_ID VARCHAR(10)='',--界面上的ITEM
@ACTION_CAT CHAR(1)='',
--@CTL_NO VARCHAR(10)='',
@SUBMIT VARCHAR(1)=''
AS
DECLARE @SQL VARCHAR(4000)
DECLARE @DEF VARCHAR(1000)
DECLARE @ISEXIST VARCHAR(1)
SET @ISEXIST = 'N'
SET @DEF = 'INNER JOIN (SELECT DISTINCT INSP_NO FROM View_S_DEFECT_Auto WHERE 1=1 '
SET @SQL = 'SELECT
A.INSP_NO,
D.DISTRICT,
E.HYD_NO AS ''HYD_REG_NO'',
E.SLOPE_NO,
E.LOCATION,
A.INSPECTION_DATE,
A.SSA_SUB_DATE AS ''SUB_DATE'',
F.INSPECTOR_NAME,
C.WEATHER,
sde.GetDefectCount(A.INSP_NO,''View_S_DEFECT_Auto'') AS DEFECTS FROM INSPECTION A JOIN SI B ON A.INSP_NO = B.INSP_NO
LEFT OUTER JOIN ( SELECT FIELDVALUE_ID,TABLE_FIELDVALUE AS ''WEATHER'' FROM EMMSCODE WHERE EMMSTABLENAME = ''WEATHER_ALL'') C ON A.WEATHER = C.FIELDVALUE_ID
LEFT OUTER JOIN ( SELECT FIELDVALUE_ID,TABLE_FIELDVALUE AS ''DISTRICT'' FROM EMMSCODE WHERE EMMSTABLENAME = ''DIS_ALLTABLE'') D ON A.DISTRICT_ID = D.FIELDVALUE_ID
LEFT OUTER JOIN SLOPE_NO E ON B.HYD_REG_NO = E.HYD_NO
LEFT OUTER JOIN INSPECTOR F ON A.INSPECTED_BY = F.INSPECTOR_ID '
IF(@AI_ID IS NOT NULL AND @AI_ID <> '')
BEGIN
SET @ISEXIST = 'Y'
SET @DEF = @DEF + ' AND AI_ID ='+@AI_ID+''
END
IF(@ACTION_CAT IS NOT NULL AND @ACTION_CAT <> '' )
BEGIN
SET @ISEXIST = 'Y'
SET @DEF = @DEF + ' AND ACTION_CAT = '''+@ACTION_CAT+''''
END
SET @DEF = @DEF + ') CC ON CC.INSP_NO = A.INSP_NO '
IF(@ISEXIST = 'Y')
SET @SQL=@SQL + @DEF
SET @SQL = @SQL + ' WHERE 1=1 '
IF(@INSP_NO is not null and @INSP_NO <> '')
set @SQL = @SQL + ' AND A.INSP_NO LIKE '''+@INSP_NO+'%'''
IF(@INSP_DATE_FROM IS NOT NULL AND @INSP_DATE_FROM <> '')
SET @SQL = @SQL + ' AND DATEDIFF(DAY,A.INSPECTION_DATE,'''+@INSP_DATE_FROM+''')<=0'
IF(@INSP_DATE_TO IS NOT NULL AND @INSP_DATE_TO<>'')
SET @SQL = @SQL + ' AND DATEDIFF(DAY,A.INSPECTION_DATE,'''+@INSP_DATE_TO+''')>=0'
IF(@SUB_DATE_FROM IS NOT NULL AND @SUB_DATE_FROM <> '')
SET @SQL = @SQL + ' AND DATEDIFF(DAY,A.SSA_SUB_DATE,'''+@SUB_DATE_FROM+''')<=0'
IF(@SUB_DATE_TO IS NOT NULL AND @SUB_DATE_TO<>'')
SET @SQL = @SQL + ' AND DATEDIFF(DAY,A.SSA_SUB_DATE,'''+@SUB_DATE_TO+''')>=0'
IF(@LOCATION IS NOT NULL AND @LOCATION <> '')
SET @SQL = @SQL + ' AND A.LOCATION LIKE ''%'+@LOCATION+'%'''
IF(@HYD_REG_NO IS NOT NULL AND @HYD_REG_NO <> '')
SET @SQL = @SQL + ' AND B.HYD_REG_NO ='''+@HYD_REG_NO+''''
--IF(@CTL_NO IS NOT NULL AND @CTL_NO<>'')
-- SET @SQL=@SQL +' AND E.CTL_NO='+@CTL_NO
IF(@SUBMIT = '1')
SET @SQL = @SQL + ' AND A.SSA_SUB_DATE IS NOT NULL AND A.SSA_SUB_DATE <> '''' '
--PRINT (@SQL)
EXEC (@SQL)
--select TABLE_FIELDVALUE FROM EMMSCODE WHERE EMMSTABLENAME = 'DISTRICT'
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!