Forum

SQL gruplara gö...
 
Bildirimler
Hepsini Temizle

SQL gruplara göre toplama ve yan yana yazma

4 Yazılar
2 Üyeler
0 Reactions
9,148 Görüntüleme
(@hasanguresin)
Gönderiler: 93
Estimable Member
Konu başlatıcı
 

Merhaba,

 

Aşağıdaki gibi bir tablom var. Bu tabloda sadece 1 fiş numarasını gösterdim ama tabi daha fazlası var. Bunların tek satırda görünmesini istiyorum. Mümkün müdür ?

sa

 

Çıkacak sonuç şu şekilde olmalı;

SQL2

Umarım anlaşılabilmiştir.

 

Teşekkürler.

 
Gönderildi : 29/04/2016 13:33

(@hasanguresin)
Gönderiler: 93
Estimable Member
Konu başlatıcı
 

Merhaba

Pivot komutu ile deneyebilirmisiniz, aşağıdaki link yardımcı olacaktır

http://www.databasejournal.com/features/mssql/converting-rows-to-columns-pivot-and-columns-to-rows-unpivot-in-sql-server.html

İstediğimi şu şekilde anlatayım;

https://www.cozumpark.com/forums/thread/472389.aspx    bu konuda da siz yardımcı olmuşsunuz. Ben aynı tabloyu yaptım ve konu sahibinin birebir istediği sorgunun aynısını istiyorum. 

 

Sorgum;

 
SELECT
TARIH,
FATIRS_NO,
STHAR_ACIKLAMA AS CARI_KOD,
CARI_ISIM,
VERGI_DAIRESI,
VERGI_NUMARASI,
TCKIMLIKNO,
KOD_3,
sum(STHAR_GCMIK),
SA.OLCU_BR1,
(BRUTTUTAR-SAT_ISKT-GEN_ISK1T-GEN_ISK2T-GEN_ISK3T) AS MATRAH,
KDV
FROM TBLSTHAR ST
JOIN TBLSTSABIT SA ON ST.STOK_KODU=SA.STOK_KODU
JOIN TBLCASABIT CA ON ST.STHAR_ACIKLAMA=CA.CARI_KOD
JOIN TBLFATUIRS FT ON ST.FISNO=FT.FATIRS_NO AND ST.STHAR_FTIRSIP=FT.FTIRSIP
JOIN TBLCASABITEK CE ON ST.STHAR_ACIKLAMA=CE.CARI_KOD
WHERE STHAR_FTIRSIP='2'
group by
KOD_3,
TARIH,
FATIRS_NO,
SA.OLCU_BR1,
KDV,
STHAR_ACIKLAMA,
CARI_ISIM,
VERGI_DAIRESI,
VERGI_NUMARASI,
TCKIMLIKNO,
BRUTTUTAR,
SAT_ISKT,
GEN_ISK1T,
GEN_ISK2T,
GEN_ISK3T

 

Sorgu Sonucu;

SASA

 

 

İstediğim şekil;

Aynı fatura numarasına sahip kod_3 sütunundakleri yanyana yazacak. Mesela yukarıda örenekte 2139 numaralı faturayı şu şekilde yazsın;

 

27.04.2015     2139      32010029   KREA  KEMALPASA   4840539944  null    bağ.ayağ,kld.kula,lama,sab.ayağ,sac     171,301,168,155,458

 

 

 

 
Gönderildi : 29/04/2016 17:23

(@hasanguresin)
Gönderiler: 93
Estimable Member
Konu başlatıcı
 

İstediğimi tam olarak anlatamadım mı acaba ? Bu sebepten mi yardımcı olacak birileri çıkmıyor ? :/

 
Gönderildi : 02/05/2016 17:17

(@omercarnacar)
Gönderiler: 86
Estimable Member
 

Merhaba ,

 

Sorunu yanlış anlamadıysam eğer , kendine göre düzenlemen gerekecek..irsaliye numaraları eşit oldugu için sıkıntı olmuyacaktır.

 

select c.*,a.adetler,a.Aciklama from cari c
join (
Select distinct ln2.cariId, 
    substring(
        (
            Select ','+ln1.Aciklama  AS [text()]
            From dbo.Lines ln1
            Where ln1.cariId = ln2.cariId
            ORDER BY ln1.cariId
            For XML PATH ('')
        ), 2, 1000) [Aciklama],
		    substring(
        (
            Select '+',CAST(ln1.EkAdet as varchar)  AS [text()]
            From dbo.Lines ln1
            Where ln1.cariId = ln2.cariId
            ORDER BY ln1.cariId
            For XML PATH ('')
        ), 2, 1000) [adetler]
From dbo.Lines ln2) as a on c.Id=a.cariId

 

https://social.msdn.microsoft.com/Forums/tr-TR/e31e3918-6f5f-4d4d-a86d-cb81bf88c97d/likili-tabloyu-yanyana-yazmak?forum=sqlservertr#c6b8d227-f84a-460d-8700-389549343417

 
Gönderildi : 03/05/2016 20:49

Paylaş: