case 后面可以加SQL语句吗?

sunyi4454 2007-01-31 03:15:16
case 后面可以加SQL语句吗?
比如 select '商家名称'=
case state
when '0' then +sql语句
when ....
end
from sjmc
...全文
871 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiule 2007-12-28
  • 打赏
  • 举报
回复
学习
sunyi4454 2007-01-31
  • 打赏
  • 举报
回复
use isdagl
select '商家名称'=
case state
when 0 then (select huiyuan.sjmc from huiyuan join gsjc on gsjc.tel=huiyuan.cxtdh)
end

from gsjc
我加了字段就出错 郁闷啊
sunyi4454 2007-01-31
  • 打赏
  • 举报
回复
哪位高手 帮帮忙啊 谢谢了
sunyi4454 2007-01-31
  • 打赏
  • 举报
回复
呵呵 谢谢大家 可问题是 我为什么不能加别的字段呢 加了就出错啊 还有如有子查询不唯一 又怎么办呢?能用别的方式显示吗?
zrb007 2007-01-31
  • 打赏
  • 举报
回复
谢谢大家指点,我土了,居然没写字段; 子查询也没有括起来,呵呵
txt_ly 2007-01-31
  • 打赏
  • 举报
回复
CASE 具有两种格式:
(1)简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。
(2)CASE 搜索函数计算一组布尔表达式以确定结果。两种格式都支持可选的 ELSE 参数。

语法
简单 CASE 函数:

CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END

CASE 搜索函数:

select case StatusValue
when '0' then (select top 1 字段名 from work)
when '1' then (select top 1 字段名 from Notice)
end
from CommonStatusDict


一者仁心 2007-01-31
  • 打赏
  • 举报
回复
同上 需要打括号 因为是子查询
xiequanqin 2007-01-31
  • 打赏
  • 举报
回复
select case StatusValue
when 0 then (select top 1 字段名 from work)
when 1 then (select top 1 字段名 from Notice)
end
from CommonStatusDict
zrb007 2007-01-31
  • 打赏
  • 举报
回复
学习,怎么写? 我写了如下语句,告诉我语法错误呢??
select case StatusValue
when 0 then select top 1 from work
when 1 then select top 1 from Notice
end
from CommonStatusDict
marco08 2007-01-31
  • 打赏
  • 举报
回复
可以
chuifengde 2007-01-31
  • 打赏
  • 举报
回复
可以,只要值唯一

34,590

社区成员

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

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