读书人

求1 SQL语句

发布时间: 2013-07-09 09:50:47 作者: rapoo

求一 SQL语句
我想在查询中根据不同的情况取不同的库表
例如:


declare @ab varchar(1)
select @ab= case when bh = '1' then 'table1' else 'table2'

select bh,mc from @ab
/*我这么写 执行的时候提示 没有@ab 表*/

我的目标就是 当bh 等于 1 则数据就从table1表中获取数据 否则数据都充table2中获取
感觉是不是要写成动态SQL啊 如何写啊
[解决办法]

declare @bh varchar(1000)='1'

declare @ab varchar(1000)
select @ab= case when @bh = '1' then 'table1' else 'table2' end

Exec('select bh,mc from '+ @ab)


[解决办法]

declare @ab varchar(10),@tsql varchar(6000)

select @ab=case when bh='1' then 'table1' else 'table2' end

select @tsql='select bh,mc from '+@ab

exec(@tsql)

读书人网 >SQL Server

热点推荐