sql的count的反过程

看到ITPUB上的一个案例来源

CREATE TABLE TEST (po_number VARCHAR2(16),product_name VARCHAR2(64),quantity NUMBER);
INSERT INTO TEST VALUES('CJ201300048','TP-LINK网络交换机TP-1024DT ', 2);
INSERT INTO TEST VALUES('CJ201300049','汉邦4路/特顿 600线半球/希捷硬盘500G',1);
INSERT INTO TEST VALUES('CJ201300050','TP LINK无线路由器DAP-1353',2);
INSERT INTO TEST VALUES('CJ201300060','科密电子门禁MF850D',1);
commit;
<pre name="code" class="sql">SQL> select * from test;

PO_NUMBER        PRODUCT_NAME                                                       QUANTITY
---------------- ---------------------------------------------------------------- ----------
CJ201300048      TP-LINK网络交换机TP-1024DT                                                2
CJ201300049      汉邦4路/特顿 600线半球/希捷硬盘500G                                       1
CJ201300050      TP LINK无线路由器DAP-1353                                                 2
CJ201300060      科密电子门禁MF850D                                                        1


 
<pre name="code" class="sql">SQL> WITH t AS (SELECT ROWNUM rn FROM dual CONNECT BY ROWNUM<=(SELECT MAX(quantity) FROM TEST))
  2  SELECT TEST.po_number,test.product_name,1  quantity
  3  FROM TEST LEFT JOIN t ON test.quantity>=t.rn
  4  order by test.po_number;

PO_NUMBER        PRODUCT_NAME                                                       QUANTITY
---------------- ---------------------------------------------------------------- ----------
CJ201300048      TP-LINK网络交换机TP-1024DT                                                1
CJ201300048      TP-LINK网络交换机TP-1024DT                                                1
CJ201300049      汉邦4路/特顿 600线半球/希捷硬盘500G                                       1
CJ201300050      TP LINK无线路由器DAP-1353                                                 1
CJ201300050      TP LINK无线路由器DAP-1353                                                 1
CJ201300060      科密电子门禁MF850D                                                        1

6 rows selected.


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值