powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как "развернуть" табличку
5 сообщений из 5, страница 1 из 1
Как "развернуть" табличку
    #39190632
Bujhm161616
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня.

есть запрос который возвращает

Код: sql
1.
2.
3.
4.
ID  name amount
1   name1   2  
2   name8   3
4   name4   2



не могу придумать как из него получить

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
ID  name amount
1   name1   2  
1   name1   2  
2   name8   3
2   name8   3
2   name8   3
4   name4   2
4   name4   2



фб 2,5
...
Рейтинг: 0 / 0
Как "развернуть" табличку
    #39190637
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EXECUTE BLOCK
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как "развернуть" табличку
    #39190645
Bujhm161616
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

и в нем склеить много запросов с помощью union all ?
а нет просто несколько suspend. Тоже вариант.
...
Рейтинг: 0 / 0
Как "развернуть" табличку
    #39190648
Dmitry Kurbsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm161616,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with recursive A as (
  select id,name,amount,1 as counter
  from your_table
  union all
  select id,name,amount,counter+1 as counter
  from A
  where counter<amount)
select id,name,amount
from A
...
Рейтинг: 0 / 0
Как "развернуть" табличку
    #39190687
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm161616,

Если надо часто
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create or alter procedure GENERATE_SERIAL (
    FROM_VALUE integer,
    TO_VALUE integer,
    STEP integer = 1)
returns (
    ID integer)
AS
begin
  ID = FROM_VALUE;
  while (ID <= TO_VALUE) do
  begin
    suspend;
    ID = ID + STEP;
  end
end


Код: sql
1.
2.
select tt.* from test_table tt
  left join generate_serial(1, tt.amount) on 1=1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как "развернуть" табличку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]