记录集中多条记录怎么合并成一条?(具体问题例程见内)

alwayssnowman 2003-10-17 08:26:14
如果我的数据库结果集中,有这样几行数据:
ID Name Price Address CtrNo
132 科技书 11.3 新华书店 1
132 科技书 11.3 北京 中国 2
132 科技书 11.3 100032 3
而且记录还有一个特点,就是CtrNo可能是只有3条,也可能有30条
现在我想将结果集合并成一条数据,用在明宇报表中显示,请教各位大侠,我的SQL该怎么写?谢谢。
(按我以前的思路是会用sum(decode())来做这种问题,可是发现这里可能因为address是字符型,所以这样做老是报错invalid number,不知道大家有什么建议?)
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
beckhambobo 2003-10-18
  • 打赏
  • 举报
回复
select id,name,price,max(decode(CtrNo,'1','新华书店')) Address,
max(decode(CtrNo,'2','北京 中国')) Address,
max(decode(CtrNo,'3','100032')) Address
from tab1
group by id,name,price;
alwayssnowman 2003-10-18
  • 打赏
  • 举报
回复
哦,不对。是我的问题。您的代码是对的。呵呵,我真是笨阿,就没有想到换一种分组函数来试。谢谢了。
alwayssnowman 2003-10-18
  • 打赏
  • 举报
回复
您好。您的代码我试过了,但是这样只是把address的不同值拆分到了不同的列,而不能把它统一到一条记录(一行)中

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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