0

以下のリストを、数量に基づいてアイテムごとにグループ化した複数の行に変換するにはどうすればよいですか?

現在の結果。

ITEM     QTY
-----    ----
12345     1
12346     2
12347     3

これは望ましい結果です

ITEM     QTY
-----    ----
12345     1
12346     1
12346     1
12347     1
12347     1
12347     1

これはクエリです

SELECT a.item,sum(b.qty) as qty

FROM table1 a, table2 b 
WHERE a.item_id = b.item_id 
group by a.item
order by a.item_id
4

1 に答える 1

1

rownumこれを行うには、をレコードに適用します。

select t1.item, qty / qty as qty
from yourtable t1
left join
(
  select rownum rn, item
  from yourtable
) t2
  on t1.qty >= t2.rn
order by t1.item

SQL FiddlewithDemoを参照してください

于 2012-09-17T21:57:04.907 に答える