Если бы я следовал за вами правильно, вы могли бы сделать это с помощью row_number()
и условного агрегирования:
select
max(case when stapel = 1 then concat_ws(' ', plantnaam, plantmaat, hoeveelheid) end) col1,
max(case when stapel = 2 then concat_ws(' ', plantnaam, plantmaat, hoeveelheid) end) col2,
max(case when stapel = 3 then concat_ws(' ', plantnaam, plantmaat, hoeveelheid) end) col3,
max(case when stapel = 4 then concat_ws(' ', plantnaam, plantmaat, hoeveelheid) end) col4,
max(case when stapel = 5 then concat_ws(' ', plantnaam, plantmaat, hoeveelheid) end) col5
from (
select
t.*,
row_number() over(partition by stapel order by plantnaam, plantmaat, hoeveelheid) rn
from mytable t
) t
group by rn
Предложение order by
row_number()
определяет, в каком порядке отображаются строки в наборе результатов; Возможно, вы захотите адаптировать его к вашим точным требованиям.