आप कॉलम नामों के स्रोत के रूप में row_number() का उपयोग करके तालिका को पिवट कर सकते हैं:
select *
from
(
select ref,
name,
link,
row_number() over (partition by ref, name order by link) rn
from table1
) s
pivot (min (link) for rn in ([1], [2], [3], [4])) pvt
यदि आपके पास और पंक्तियाँ हैं, तो बस संख्याओं की सूची को विस्तृत करें।