
Linkteki gibi bir şey yapmak istiyorum. Büyük bir sorgum var ve değerler alt sorguyla geliyor. Alt sorgudan koparıp bir şekilde joinledim ama yine yapamadım. Tek kolon veya 2 kolon şeklinde yan yana nasıl yaparım?

Oracle'da LISTAGG fonksiyonuyla yapabiliyorsun bu istediğini.
Örnek olarak: SELECT LISTAGG(EMAILS.EMAIL, ';') WITHIN GROUP(ORDER BY EMAIL)
FROM EMAILS;
dediğinde e-postaları aralarında ; ile yan yana yazdırıyor.


önce group by yap kaç kez çokluyor Id onu bul.
sonra row_number ile aynı id leri kendi içinde sırala
sonrasında join ile önce row_number 1 olanları sonra 2,3 diye joinlerle yanyana çekebilirsin.


@prezerlatif çoklama yok hocam gördüğün gibi. aynı id lere bağlı farklı değerler geliyor burası normal. ama yan yana yazamıyorum sorun o. :)


ee tamam işte id bazında bakarsan verin çokluyor, sen çoklayan verileri aynı satıra yazacaksın.
üşnemedim örnek yazdım
select * into ##tmpalp
from (select 1 Id,'ahmet' name
union ALL
select 1,'mehmet'
) sub
select ROW_NUMBER() OVER(ORDER by Id) as RW, *
into ##tmpalprw
from ##tmpAlp
select b.Id,b.name,i.name from ##tmpalprw b
left outer join ##tmpalprw i
on b.Id=i.Id
and b.rw=1
and i.rw=2
where b.rw=1
