Хммм.,,Это странно.Если у вас есть две строки во второй таблице, вы можете использовать условное агрегирование:
select t1.*, t2.*
from t1 cross join
(select max(case when seqnum = 1 then v1 end) as v1_1,
max(case when seqnum = 1 then v2 end) as v2_1,
max(case when seqnum = 2 then v1 end) as v1_2,
max(case when seqnum = 2 then v2 end) as v2_2
from (select t2.*, row_number() over (order by null) as seqnum
from t2
) t2
) t2;
Вы можете вручную расширить это число до нескольких строк.
Если у вас есть неопределенное количество строк, тоВы не можете делать то, что вы хотите, используя простой запрос SQL.Оператор SELECT
имеет фиксированный набор строк.Вы можете делать то, что хотите, используя динамический SQL (execute immediate
).
Или, возможно, вы просто захотите использовать другое представление для значений table2
, например, JSON, XML или вложенную таблицу.