0

问题描述:仓库...我们收到了 10 件一种产品和 3 件相同产品到一个容器中。它们有不同的 USER_DEF_NOTE_2 值。表库存:

SKU_ID;QTY_ON_HAND;CONTAINER_ID;USER_DEF_NOTE_2

SKU1;10;K001;OT 15/2013

SKU1;3;K001;WI 14/2011

我需要打印 10 个带有第一个 USER_DEF_NOTE_2 值的标签和 3 个带有第二个值的标签。

报告软件输入为 1 行 = 1 个标签

在这种情况下如何“多行”?

我在 rownum 上做了标准连接,它在一个 ROW CASE 上运行良好。(我的意思是我知道如何乘以单行*数量 - 但我不知道如何乘以 1*qty1 +2*qty2)。我的问题是我正在使用 ROWNUM ...并且 rownum 是全局的。

有任何想法吗?

4

2 回答 2

1
select t.*
from INVENTORY t
join (select level n from dual 
      connect by level <= (select max(QTY_ON_HAND) from INVENTORY)) 
on n <= t.QTY_ON_HAND
于 2013-07-17T12:47:06.630 回答
0

11gR2 中的递归子查询因式分解子句来救援!

create table test(code varchar2(10), n number);

insert into test values('FIRST', 10);
insert into test values('SECOND', 3);

with t(code, num) as (
  select code, 1 num from test
   union all
  select test.code, t.num + 1 num from t, test
   where t.code = test.code and t.num < test.n  
)
select *
  from t

在这里尝试一个例子。

于 2013-07-17T13:46:54.420 回答