注册 登录
编程论坛 SQL Server论坛

[讨论]如何動態設置過濾條件

chenjin145 发布于 2006-09-24 10:46, 657 次点击

if(@kind<>999)
select * from 表名 where kind=@kind
else
select * from 表名

除了這樣還有其他辦法麼
我那查詢語句非常長
我不想copy倆份一樣的就為了少屁股後面那一個條件

謝謝你們的建議

3 回复
#2
LouisXIV2006-09-25 11:29
多长?

小于8000可以试试

declare @sql varchar(8000)

select @sql='select * from ......'

if @kind<>999
select @sql=@sql+' where kind='+rtrim(@kind)
exec (@sql)
#3
chenjin1452006-09-25 11:36
是一個辦法
還有沒更好的?
#4
LouisXIV2006-09-25 11:42
动态基本就这样的处理方法了
1