[]
ms-sql sorgu yardımı lazım.(capsli)
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.
Ö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.
- chicha (02.02.17 18:39:52)
ö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.
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.
- prezarlatif (02.02.17 18:53:32)
@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. :)
- athena (02.02.17 18:55:54)
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
üş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
- prezarlatif (02.02.17 19:33:43 ~ 19:42:20)
1