首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求1 SQL语句

2013-07-09 
求一 SQL语句我想在查询中根据不同的情况取不同的库表例如: declare @ab varchar(1) select @ab case whe

求一 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)

热点排行