我一直試圖在SQL(Oracle 11g)中實現這一點,但找不到合適的方法來做到這一點。在SQL中重複每個值n次作爲行
我的表names
具有以下行:
NAME REPEAT
---- ------
KAUSHIK 2
KARTHIK 3
NIDHI 1
ASHWINI 5
JAGADEESH 6
我需要的是像這樣的輸出:
NAME
----
KAUSHIK -- 2 rows
KAUSHIK
KARTHIK
KARTHIK -- 3 rows
KARTHIK
NIDHI -- 1 row
ASHWINI
ASHWINI -- 5 rows
...
等。
我到目前爲止嘗試過的其中一個查詢當然不起作用。我試圖使用unpivot
以及但似乎無法找到一個正確的方法來實現這一點。
SELECT m.name
FROM names m
INNER JOIN
(SELECT name, repeat FROM names
) n
ON m.name = n.name
CONNECT BY LEVEL <= n.repeat;