Рассчитать с двумя результатами SQL - PullRequest
0 голосов
/ 05 ноября 2018

Можно ли разделить два результата из двух разных операторов SQL?

Пример:

Table1

Entry1
Entry2
Entry3
...

Table2

Entry1
Entry2
Entry3
...

Расчет (деление):

Table1.Entry1/Table2.Entry1
Table1.Entry2/Table2.Entry2
Table1.Entry3/Table2.Entry3
…

Спасибо:)

1 Ответ

0 голосов
/ 05 ноября 2018

Таблицы SQL представляют неупорядоченные наборы. Для того, чтобы делать то, что вы хотите, вам нужен «ключ» к какому-то соединению таблиц. Позвольте мне предположить, что у вас есть столбец, который определяет порядок. Затем вы можете создать ключ, используя row_number():

select t1.entry1 / t2.entry2
from (select t1.*, row_number() over (order by ?) as seqnum
      from table1 t1
     ) t1 join
     (select t2.*, row_number() over (order by ?) as seqnum
      from table1 t2
     ) t2
     on t1.seqnum = t2.seqnum;

? - для соответствующего столбца в каждой таблице, который определяет порядок строк.

...