用动态SQL来做吧
declare @Strsql varchar(8000)
select @strsql=''
select @strsql='select * from client where clientid in (select clientid from sale where paystate='已付' and meettime>=@firdate and meettime<=@secdate and dogid in (select dogid from dog where '+@Fieldname+'=1) )'
exec (strsql)
declare @Strsql varchar(8000)
select @strsql=''
select @strsql='select * from client where clientid in (select clientid from sale where paystate='已付' and meettime>=@firdate and meettime<=@secdate and dogid in (select dogid from dog where '+@Fieldname+'=1) )'
exec (strsql)
SELECT @SQLTXT="SELECT * FROM CLIENT WHERE CLIENTID "
SELECT @SQLTXT =@SQLTXT+" in (select clientid from sale where paystate='已付' and meettime>="+QUOTENAME(CONVERT(VARCHAR(20),@FIRDATE,120),'''')+" and meettime<="+QUOTENAME(CONVERT(VARCHAR(20),@SECDATE,120),'''')+ " and dogid in (select dogid from dog where"+QUOTENAME( @fieldname,'''')+"=1) )"
exec(@SQLTXT)
" join dog on sale.dogid=dog.dogid where sale.paystate='已付' and dog."+@fieldname+"=1 and sale.meettime>="+
QUOTENAME(CONVERT(VARCHAR(20),@FIRDATE,120),'''')+
" and sale.meettime<="+QUOTENAME(CONVERT(VARCHAR(20),@SECDATE,120),'''')给份吧