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

关于有left join 中使用 case 语句的有关问题

2012-01-22 
关于有left join 中使用 case 语句的问题如,现有两表A表(ID,TYPEID,NAME),B表(TYPEID,TYPENAME,YC)我写了

关于有left join 中使用 case 语句的问题
如,现有两表   A表(ID,TYPEID,NAME),B表(TYPEID,TYPENAME,YC)
我写了一语句如下,
  select   a.*,b.typename=case   b.yc   when   0   then   b.typename   else   '隐藏 '   end
  from   A   a   left   join   B   b   on   a.typeid=b.typeid

不明白的是为什么两表做   join时为什么case   语句会报错.有什么解决办法??

[解决办法]
select a.*,b.typename=case b.yc when 0 then b.typename else '隐藏 ' end
--b.typename应该是case when后列的别名,因此要将b.typename加单引号或改为你想要的列名
select a.*, '列名 '=case b.yc when 0 then b.typename else '隐藏 ' end

from A a left join B b on a.typeid=b.typeid
[解决办法]
--把b.typename=改為typename=
select a.*, typename=case b.yc when 0 then b.typename else '隐藏 ' end
from A a left join B b on a.typeid=b.typeid

热点排行