У меня есть две таблицы, и я хочу выбрать случайное значение из второй таблицы для каждой записи в первой. Проблема в том, что кажется, что это значение всегда одинаково для каждой строки, что означает, что оно выполняется только один раз для всех строк. Как мне этого добиться?
create table first_table(name varchar2(100));
insert into first_tablevalues('John');
insert into first_tablevalues('Jessie');
insert into first_tablevalues('Jack');
select * from second_table;
create table second_table(id number);
insert into second_table(id) values(1);
insert into second_table(id) values(2);
insert into second_table(id) values(3);
insert into second_table(id) values(4);
insert into second_table(id) values(5);
insert into second_table(id) values(6);
Затем я выполнил этот запрос, но для каждого имени в первой таблице я получаю один и тот же номер.
SELECT NAME,
(SELECT id
FROM (SELECT id
FROM second_table
ORDER BY dbms_random.value)
WHERE rownum = 1)
FROM first_table;