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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2042|回复: 6

请教:这段SQL应该怎样写?

[复制链接]
发表于 2007/9/6 16:23:35 | 显示全部楼层 |阅读模式

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

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

x
有一张表,保存的数据格式如下:

    ITEM          QTY     
      A              10
      A              10
      A              10
      A               8
      A               6

现在是想写一段SQL以这种格式run出来:
  10*3+8*1+6*1

请问这段SQL应该怎么写?谢谢!!
发表于 2007/9/6 18:02:54 | 显示全部楼层
你最后只要的和??
还是结果是:30,8,6 这样的一列呢??
 楼主| 发表于 2007/9/6 18:45:12 | 显示全部楼层
'10*3+8*1+6*1'  
是要以這樣的一個字符串形式.這樣就可以看到數量10的有3盒,8的有1盒,6的有一盒,數量與盒數都是不固定的.

[ 本帖最后由 tuuliang 于 2007-9-6 18:46 编辑 ]
发表于 2007/9/6 20:14:37 | 显示全部楼层
FYI:

DECLARE
  CURSOR A_CUR IS
    SELECT QTY,COUNT(QTY) COUNT_NUM FROM A
      WHERE  ITEM = 'A' GROUP BY ITEM,QTY ;
      
  I NUMBER;   
  A VARCHAR2(20);
  B VARCHAR2(20);
  C VARCHAR2(80);
BEGIN
  I := 1;
  FOR A_REC IN A_CUR LOOP
    A := A||I;
    B := B||I;
    A := A_REC.QTY ;
    B := A_REC.COUNT_NUM ;
    I := I + 1 ;
    C := C||A||'*'||B||'.' ;
  END LOOP;
  
  DBMS_OUTPUT.put_line(C);
END  ;
发表于 2007/9/6 20:19:02 | 显示全部楼层
Set serveroutput On;
Declare
    str Varchar2(20):=Null;
    Cursor c1 Is
        Select qty,Count(item) num
          From a
          Group By qty;
Begin
    For emp In c1 Loop
        If(str Is Null) Then
                str :=emp.qty||'*'||emp.num;
        Else
                str:=str||'+'||emp.qty||'*'||emp.num;
        End If;
   End Loop;
    dbms_output.put_line(str);
End;
俺用一个SQL语句实现不了.就写了一长串.楼上的差不多.
发表于 2007/9/6 20:56:21 | 显示全部楼层
jessie 现在很轻车熟路了
这个是至少一段 pl/sql
 楼主| 发表于 2007/9/7 09:56:30 | 显示全部楼层
已经实现了,谢谢大家!!   ^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025/11/30 15:10 , Processed in 0.016017 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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