Кальцит не имеет такой функции, как Псевдостолбец Oracle ROWNUM , но у него есть стандартная оконная функция SQL ROW_NUMBER () . Вы можете использовать его следующим образом:
create table a as select * from (values ('Andy'), ('Greg')) as t (name);
create table b as select * from (values (1), (2)) as t (v);
select *
from (select name, row_number() over () as id from a)
join (select v, row_number() over () as id from b)
using (id);
+----+------+---+
| ID | NAME | V |
+----+------+---+
| 1 | Andy | 1 |
| 2 | Greg | 2 |
+----+------+---+
(2 rows)
Если вы хотите детерминированный порядок, вы можете изменить over ()
, скажем, over (order by name desc)
.