SQL 语句异常

qyptlonglizhi 2013-06-30 06:56:13

update LH_lh set ma2=
(

case when ma2='yi'
then '1'
when ma2='san' then '0002'
else ma2 end

) where pici='91'


上面执行正常

下面不正常,不管条件是怎么,总会执行 当等于'yi'后面的结果,请问为什么



update LH_lh set ma2=
(

case when ma2='yi'
then (isnull((select MAX(ma2) from LH_lh where pici<>'91' and ma1=(select ma1 from lh_lh where pici='91') and did=(select did from LH_lh where pici='91') and zid=(select zid from LH_lh where pici='91') and xid=(select xid from LH_lh where pici='91')),0)+1)
when ma2='san' then '0002'
else ma2 end

) where pici='91'


...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
无涯大者 2013-07-01
  • 打赏
  • 举报
回复
查下表里面的数据看看。
發糞塗牆 2013-07-01
  • 打赏
  • 举报
回复
先select出来看看结果是不是你想要的
learningcoder 2013-06-30
  • 打赏
  • 举报
回复
你确定你表里还有ma2='san' 的数据没?
百年树人 2013-06-30
  • 打赏
  • 举报
回复
这个似乎不太可能,查查你原表里ma2列的数值是否存在'yi'以外的值

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧