@denislysenko
data engineer

Как распарсить строку?

есть таблица table:

select * from table:
name  last_name     cnt
denis  lysenko         2
Gosha nikitin           3
Ivan    Astankov       1


как можно вывести такой результат? :
name  last_name 
denis  lysenko         
denis  lysenko
Gosha nikitin           
Gosha nikitin
Gosha nikitin
Ivan    Astankov


то есть: столбец cnt показывает количество дублей этой строки, но в итоговой таблице мне нужно чтобы все дубли были выведены.
Есть в sql какой-нибудь оператор который предназначен для этого?
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
WITH cte AS ( SELECT name, last_name, cnt FROM table
              UNION ALL
              SELECT name, last_name, cnt - 1 FROM cte WHERE cnt > 1 )
SELECT name, last_name FROM cte;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы