SQL-запрос для выбора значения column1 несколько раз на основе значения столбца 2 - PullRequest
0 голосов
/ 17 октября 2018

Как мне написать запрос для сценария ниже в Oracle?

Ввод

Column1 Column2
R        1
S        2
F        3

Ввод

RSSFFF

т.е. 'R' 1 раз, 'S' 2 раза и 'F' 3 раза.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Вы можете использовать rpad, чтобы повторять буквы, и listagg, чтобы объединить их в одну строку, например, так.

select
  listagg(rpad(column1,column2,column1)) within group (order by column2)
from table_name;

Но это будет работать, если у вас есть другой столбец для заказав данном случае я просто использую column2.

0 голосов
/ 17 октября 2018

Один метод использует lpad():

select lpad(column1, column2, column1)
from t;

Если вы хотите одну строку, то используйте listagg():

select listagg(lpad(column1, column2, column1)) within group (order by null)
from t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...