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

请问一个sql语句有关问题

2012-03-28 
请教一个sql语句问题我有一张表 表中有三个字段a,b,c当c字段等于某个值时 查询得到 a字段的值 其他情况就

请教一个sql语句问题
我有一张表 表中有三个字段 a,b,c当c字段等于某个值时 查询得到 a字段的值 其他情况就查询到b字段的值
 下面有一个例子(报错):

SQL code
   select (case when ACTIONTYPE='更新' then (select GUISHUZUZHI from table_name where FORM_NO=192) else (select AFTERUPZUZHI from table_name where FORM_NO=192) end) as '更新后组织'  from table_name where FORM_NO=192

如果是这样写就可以实现(不报错):
SQL code
select (case when ACTIONTYPE='更新' then 1 else 0 end) as '更新后组织'  from table_name where FORM_NO=192


[解决办法]
探讨
我有一张表 表中有三个字段 a,b,c当c字段等于某个值时 查询得到 a字段的值 其他情况就查询到b字段的值
下面有一个例子(报错):
SQL code

select (case when ACTIONTYPE='更新' then (select GUISHUZUZHI from table_name where FORM_NO=192) else (select AFTERUP……

[解决办法]
SQL code
select (case when ACTIONTYPE='更新' then GUISHUZUZHI else AFTERUPZUZHI end) as '更新后组织'  from table_name where FORM_NO=192
[解决办法]
我有一张表 表中有三个字段 a,b,c当c字段等于某个值时 查询得到 a字段的值 其他情况就查询到b字段的值
 下面有一个例子(报错):

--

select * from tb where (c = '某个值' and a = ...) or (c <> '某个值' and b = ... )
[解决办法]
select (case when a.GiftType='1' then (select GiftName from tablename where GiftId=a.GiftId) 
else (select GiftId from tablename where GiftId=a.GiftId) end) aaa from tablename a where a.GiftId='001'

热点排行