求高手解决!缩写多个or
sql吧
全部回复
仅看楼主
level 1
懒虫尾生 楼主
SELECT * FROM tobj where
fiel0 = "field10"
OR fiel1 = "field10"
OR fiel2 = "field10"
OR fiel3 = "field10"
OR fiel4 = "field10"
OR fiel5 = "field10"
OR fiel6 = "field10"
OR fiel7 = "field10"
OR fiel8 = "field10"
OR fiel9 = "field10"
查询的语句如上,表的结构无法更改,需要准确查询而非模糊查询
求高手对语句缩写一下,查询条件唯一,只需要这十个字段之一相等就可返回。
2019年01月21日 09点01分 1
level 1
懒虫尾生 楼主
求高手支招,万分感谢
2019年01月21日 09点01分 2
level 1
colase试下
2019年01月22日 04点01分 3
level 1
CREATE PROC SP_GetDataTable
(
@TABLENAME varchar(50),
@value varchar(max)
)
AS
BEGIN
DECLARE @sql varchar(max)
DECLARE @sqlw varchar(max)
IF LEN(@tableName)=0 OR LEN(@value)=0
BEGIN
RETURN
END
SET @sql='SELECT*FROM '+@tableName
SET @sqlW=' WHERE 1=1 '
select name
INTO #temp_TableColsName
FROM sys.columns where object_id=object_id(@tableName)
DECLARE @colName varchar(50)
WHILE EXISTS ( SELECT TOP 1 name FROM #temp_TableColsName)
BEGIN
SELECT TOP 1 @colName=name FROM #temp_TableColsName
SET @sqlW+=' OR '+@colName+'='+@value+' '
DELETE #temp_TableColsName WHERE name=@colName
END
EXEC (@sql+@sqlW)
DROP TABLE #temp_TableColsName
END
2019年01月22日 10点01分 5
1