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

sql 查询有关问题2

2012-03-21 
sql 查询问题2createtablemytable(column1int,column2int)insertintomytablevalues(1,1)insertintomytable

sql 查询问题2
create   table   mytable(column1   int,column2   int)
insert   into   mytable   values(1,1)
insert   into   mytable   values(2,2)
insert   into   mytable   values(3,3)
insert   into   mytable   values(4,4)
insert   into   mytable   values(5,5)

select   *   from   mytable
declare   @a   varchar(10)
set   @a   =   'True '
select     column1,column2   from   mytable

Drop   Table   mytable

我想@a   =   'True '的时候才将column1选出来。不用动态sql语句。不用

declare   @a   varchar(10)
if   (@a   =   'True ')
select     column1,column2   from   mytable
else
select       column2   from   mytable
的方式。(因为那会将我的存储过程变的很长)。可不可以用case   when   语句实现


[解决办法]
如果要分成两个列不行,如果合并成字符串一列可以实现
[解决办法]
select column1,column2 from mytable where 1=case when @a= 'True ' then 1 else 0 end
[解决办法]
case when ?不行
或如果是查询用函数
[解决办法]
你這樣的情況,用case沒辦法

热点排行