你的意思是把表名设为参数
use ltdb_bak
declare @table varchar(100)
select @table='ltsz_send_log0505'
exec('select count(1), service_id from'+@table+'
where service_id !=90 and respond_result=0
group by service_id'
use ltdb_bak
declare @table varchar(100)
select @table='ltsz_send_log0505'
exec('select count(1), service_id from'+@table+'
where service_id !=90 and respond_result=0
group by service_id'
@sql='
select count(1), service_id from '
+@table+'
where service_id !=90 and respond_result=0
group by service_id'
exec(@sql)
declare @table varchar(100)
select @table='ltsz_send_log0505'
exec('select count(1), service_id from'+@table+'
where service_id !=90 and respond_result=0
group by service_id')-------缺了个“)”
@table varchar(100)
as
declare @sqlstr varchar(1000)
select @sqlstr='select count(1), service_id from '+@table+' where service_id !=90
and respond_result=0 group by service_id'
exec(@sqlstr)
go
exec mm 'ltsz_send_log0505'
如果不用存储过程:
declare @table varchar(100)
declare @sqlstr varchar(1000)
set @table='ltsz_send_log0505'
select @sqlstr='select count(1), service_id from '+@table+' where service_id !=90
and respond_result=0 group by service_id'
exec(@sqlstr)