Как повторить второе значение таблицы для количества строк из первой таблицы - PullRequest
1 голос
/ 18 июня 2020

атрибуты

id  value
1   asd
2   def
3   efg
4   jij

комиссия

id  comm
2   20
3   30

Я хочу получить результат как

value,  comm
asd     20
def     30
efg     20
jij     30

Второе значение таблицы повторяется в соответствии с записями 1-й таблицы.

1 Ответ

0 голосов
/ 18 июня 2020

Если вы просто хотите повторить, используйте row_number() и арифметические c:

select c.*, a.*
from (select a.*, row_number() over (order by id) as seqnum, count(*) over () as cnt
      from attributes a
     ) a join
     (select c.*, row_number() over (order by id) as seqnum
      from commission c
     ) c
     on a.seqnum - 1 = mod(c.seqnum, a.cnt);
...