cómo generar una serie de números agrupando los datos en db2 o sql
Tengo los datos como se muestra a continuación:
Manager | Ciudad | Edificio | Piso | Numero de Asientos |
---|---|---|---|---|
xxx | BLR | SA2 | 2F | 2 |
xyz | BLR | SA2 | 2F | 3 |
xya | BLR | SA2 | 3F | 2 |
xjk | BLR | SA2 | 3F | 1 |
Los datos resultantes deben ser como sigue, agrupados por gerente o edificio y piso, se necesita generar una serie de números basados en el número de asientos.
Manager | Ciudad | Edificio | Piso | Numero de Asientos |
---|---|---|---|---|
xxx | BLR | SA2 | 2F | 1 |
xxx | BLR | SA2 | 2F | 2 |
xyz | BLR | SA2 | 2F | 3 |
xyz | BLR | SA2 | 2F | 4 |
xyz | BLR | SA2 | 2F | 5 |
xya | BLR | SA2 | 3F | 1 |
xya | BLR | SA2 | 3F | 2 |
xjk | BLR | SA2 | 3F | 3 |
davy.ai
Para generar la serie requerida de números en función del número de asientos, podemos utilizar la función SQL “GENERATE_SERIES”, junto con “UNNEST” para dividir los valores separados por comas en la columna “Número de Asientos”. La consulta sería la siguiente:
La función “GENERATE_SERIES” genera una serie de números desde el valor inicial (1, en este caso) hasta el valor final, que es el número de asientos para cada fila. La función “UNNEST” convierte los valores separados por comas en la columna “Número de Asientos” en una tabla, que luego se puede utilizar junto con “GENERATE_SERIES” para generar la serie requerida de números.
Los datos resultantes estarán agrupados por Manager, Building y Floor, y tendrán una nueva columna “Número de Asientos” con la serie generada de números. Los datos resultantes estarán ordenados por Manager, Building, Floor y “Número de Asientos”.