测试智商的题目:欢迎动动脑子。

coolmother 2003-04-21 08:22:15
一个表temp,有3列,有5条记录。
若写select * from temp,显示5行3列的数据
现在我想显示3行5列,select如何写?
...全文
109 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolmother 2003-04-22
  • 打赏
  • 举报
回复
佩服佩服
不过若值的类型为char就不能做sum了
beckhambobo 2003-04-22
  • 打赏
  • 举报
回复
第一问数据量不多,还可以用一条语句实现
select 代码,sum(decode(类别,a,值)) a,
sum(decode(类别,b,值)) b,
.......
from table
group by 代码;

第二问,基本成为不可能,把有记录设成一行,那行长度不可预知,不赞成这样做法.
smallcrocodile 2003-04-22
  • 打赏
  • 举报
回复
有很多帖子了,不可能用一条SQL完成的
penitent 2003-04-22
  • 打赏
  • 举报
回复
如果说记录数确定,一个sql是可以的
如果记录数不确定,用一个过程即可,tom就写过这个过程的源代码
petertangh 2003-04-22
  • 打赏
  • 举报
回复
头想痛了
coolmother 2003-04-22
  • 打赏
  • 举报
回复
提问的时候就感觉sql不能完成
只是想听听高手的意见
再放两天
没办法就程序吧!
另,大家注意身体,千万别非典。
hrb_qiuyb 2003-04-21
  • 打赏
  • 举报
回复
其实说白了,这就是上大学时我们学“线性数学”的矩阵变换问题
即A(mn)=A(nm)的问题。
完成方式一定是通过数组。
golden及plsql developer都有这样的功能
我认为不是通过delphi就是通过vc或c++builder完成的。
qfsb_p 2003-04-21
  • 打赏
  • 举报
回复
老兄,到底可不可能?
coolmother 2003-04-21
  • 打赏
  • 举报
回复
我也感觉不可能,要写程序的,但动动脑子,挑战智商吧!
coolmother 2003-04-21
  • 打赏
  • 举报
回复
我又联想起一道题:
原显示:
代码 类别 值
---- ---- --
1 a value1
1 b value2
1 c value3
1 d value4
1 e value5
2 a value6
2 b value7
2 c value8

目标显示
1 1 1 1 1 2 2 2
a b c d e a b c
value1 value2 value3 value4 value5 value6 value7 value8
hrb_qiuyb 2003-04-21
  • 打赏
  • 举报
回复
不可能用一个sql达到你的要求!
qfsb_p 2003-04-21
  • 打赏
  • 举报
回复
学习
coolmother 2003-04-21
  • 打赏
  • 举报
回复
原显示:
代码 类别 值
---- ---- --
1 a value1
1 b value2
1 c value3
1 d value4
1 e value5
2 a value6
2 b value7
2 c value8

目标显示
代码 a b c d e
---- - - - - -
1 value1 value2 value3 value4 value5
2 value6 value7 value8

刚刚表达不清,现举例说明
black_snail 2003-04-21
  • 打赏
  • 举报
回复
select sum(decode(a,<value1>,1,0)) ,
sum(decode(a,<value2>,1,0)).
sum(decode(a,<value3>,1,0)),
sum(decode(a,<value4>,1,0)),
sum(decode(a,<value5>,1,0))
from temp

17,377

社区成员

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

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