有关oracle 的case when问题

wucuil 2009-07-15 11:22:57
1、以下这个语句,需要group by case语句的内容,怎样加group by条件?感谢!
select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
ELSE
NULL
END TYPE
from table1

2、以下语句只取一定的when条件,其他列 不列出,语句是怎样写?
select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
ELSE
NULL
END TYPE
from table1


...全文
83 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guolxwz 2009-07-15
  • 打赏
  • 举报
回复

select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
END TYPE
from table1
where name = 5 or name = 161
group by CASE WHEN name = 5 THEN '姓名' when name = 161 THEN '性别' END
zhaozheng821018 2009-07-15
  • 打赏
  • 举报
回复
select --你要的内容
from
(
select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
END TYPE
from table1
where name = 5 or name = 161
) k
group by k.type
不知道这样能不能满足你的要求,这种的效率没有考虑过
fatfoxz 2009-07-15
  • 打赏
  • 举报
回复
select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
END TYPE
from table1
where name = 5 or name = 161
fatfoxz 2009-07-15
  • 打赏
  • 举报
回复
select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
ELSE
NULL
END TYPE
from table1
order by TYPE
fatfoxz 2009-07-15
  • 打赏
  • 举报
回复
似乎TYPE 是别名。。。
csuxp2008 2009-07-15
  • 打赏
  • 举报
回复
不大懂你的意思,你的select语句应该是end case不是end type
老张-AI 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 guolxwz 的回复:]

select CASE
WHEN name = 5 THEN
'姓名'
when name = 161 THEN
'性别'
END TYPE
from table1
where name = 5 or name = 161
group by CASE WHEN name = 5 THEN '姓名' when name = 161 THEN '性别'  END
[/Quote]

这个就是

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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