I have a sample table like this
col1 col2 col3 num1 num2
------------------------------------
val1 val2 val3 1 5
val4 val5 val6 7 15
val7 val8 val9 18 26
I want the row become as many as the difference between num2 and num1. For example, I want the first row to be 4 rows (5 - 1 = 4).
Expected result:
col1 col2 col3 num1 num2
------------------------------------
val1 val2 val3 1 5
val1 val2 val3 1 5
val1 val2 val3 1 5
val1 val2 val3 1 5
val4 val5 val6 7 15
val4 val5 val6 7 15
val4 val5 val6 7 15
val4 val5 val6 7 15
val4 val5 val6 7 15
val4 val5 val6 7 15
val4 val5 val6 7 15
val4 val5 val6 7 15
val7 val8 val9 18 22
val7 val8 val9 18 22
val7 val8 val9 18 22
val7 val8 val9 18 22
Referring to the answer here postgreSQL: how to duplicate a row, is it possible to duplicate without primary key? or PK is absolutely needed? Then what is the most effective way to achieve this? I'm thinking about using for loop as general programming, but I believe there's a simpler way using SQL