壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1620|回复: 7

求一个SQL的写法

[复制链接]
发表于 2007/11/8 13:51:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
求一个SQL的写法我有个语句的查询结果如下:

列A   列B  列C  列D  列E
A     1.1  a1   3.5 6
A     1.1  a2   2.6 1
A     2    a1   3.5 6
A     2    a2   2.6 1
A     3    a1   3.5 6
A     3    a2   2.6 1

我现在想要的结果是把列B不相同的加起来,最后变成这样的结果.

列A   列B  列C  列D  列E
A     6.1  a1   3.5 6
A     6.1  a2   2.6 1
发表于 2007/11/8 14:34:26 | 显示全部楼层
下面这个不行吗?
select 列A,sum(列B),列C,列D,列E
from 表
group by 列A,列C,列D,列E
 楼主| 发表于 2007/11/8 15:36:27 | 显示全部楼层
不行啊,这样加起来的结果不正确
发表于 2007/11/8 20:50:48 | 显示全部楼层
请确认:
行  列A   列B  列C  列D  列E
1      A      1.1  a1   3.5 6
2      A     1.1  a2   2.6 1
3      A     2    a1   3.5 6
4      A     2    a2   2.6 1
5      A     3    a1   3.5 6
6      A     3    a2   2.6 1
"把列B不相同的加起来,最后变成这样的结果."
可以的组合是:
   行: 1+3+5 , 2+4+6, 同时,一行不否只能用一次?
   行: 1+4+6 , 2+3+5,
   .......
如果:
行  列A   列B  列C  列D  列E
1      A      1.1  a1   3.5 6
2      A     5  a2   2.6  6
3      A     2    a1   3.5 6
4      A     2    a2   2.6 1
5      A     3    a1   3.5 6
6      A     3    a2   2.6 1
这样你要的结果是否为:
1+2+3+5, 4+6两行?
如果是这样,基本无解,除非用另一列把要相加的标识出来,如上面的列E. 把列E相等的B相加.否则一条SQL是涮不出来的,写P/L SQL吧.
declare
cursor cur_r
is
  select min(rowid),列B
     from T
    where 列F <> 'Y' --标识已经使用过.
    group by 列B;
   v_count  number;
begin
  --Loop;
  v_count := 0;
  for c_r in cur_r loop
      --把列加总输出,
     --更新已经加况过的行.列F= 'Y';
    --V_count 计数.
   end loop;
   --如果V_COUNT = 0退出
  -- end loop
end;
发表于 2007/11/9 08:16:02 | 显示全部楼层
答案見圖
answer.JPG
发表于 2007/11/9 10:28:10 | 显示全部楼层
嵌套sql
select
  ...
(select sum(...) from ..  where ...)
..
from ...
发表于 2007/11/9 10:59:29 | 显示全部楼层
2楼是对的啊.
发表于 2007/11/10 10:45:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 03:59 , Processed in 0.018015 second(s), 17 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表