none
Sql Server İle Satırları kolon olarak yazdırmak Pivot değil RRS feed

  • Soru

  • Merhaba ;

    Sql serverde yapılan PİVOT işlemini ile bir verisel değeri çekebiliyorum..Malzemeye göre  satış içeriğini yazmak  gibi  benim yapmak istediğim ise bunun yanında adetlerin toplamınıda görmek   TUTAR -  MİKTAR   -  TUTAR -  MİKTAR gibi

       SELECT  CONVERT(NVARCHAR(50), INV.DATE_,104) AS FATURATARİH ,
                INV.FICHENO AS FİS_NUMARASI ,
                CLC.DEFINITION_ AS CH_ÜNVANI ,
                
                CASE WHEN ITM.LOGICALREF = 2692 THEN STL.AMOUNT
                END AS 'XX MİKTAR' ,
                CASE WHEN ITM.LOGICALREF = 2692 THEN STL.PRICE * STL.AMOUNT
                END AS 'XX TUTAR'
    		
    
        FROM    dbo.LG_017_01_INVOICE AS INV
                INNER JOIN dbo.LG_017_01_STLINE AS STL ON STL.INVOICEREF = INV.LOGICALREF
                INNER JOIN dbo.LG_017_ITEMS AS ITM ON ITM.LOGICALREF = STL.STOCKREF
                INNER JOIN dbo.LG_017_CLCARD AS CLC ON CLC.LOGICALREF = INV.CLIENTREF
        WHERE   MONTH(INV.DATE_) = 3
                AND INV.TRCODE = 8
                AND INV.GRPCODE = 2
               AND INV.FICHENO = '00000129'
    

    Bu sorguda FATURANIN içinde oluşan değerler kaç adet ise satır olarak geliyor..Benim bilgi almak istediğim malzeme sayısı 10 civarında  bunların ID ile yanyana getirme işlemi yapmak  eğer ilgili  malzeme varsa adet ve  tutar yazması her fiş için umarım anlatabilmişimdir.

    CASE ile yaptıgımda ise her satırda ürün bilgilerine ulaşıyorum.Bunu bir satırda gösterme şansım varmıdır.?

    Şimdiden Tşkler.

    5 Nisan 2017 Çarşamba 10:55

Tüm Yanıtlar

  • Merhabalar,

    Eğer doğru anladıysam satır olarak gelen verileri sütün olarak göstermek istiyorsunuz. Bunu SQL Server'da PIVOT ile yapmak mümkün. Bu arada PIVOT ile yapmak istememenizin sebebi nedir? Eğer kolon sayısı sabit değilse dynamic pivot olarak deneyebilirsiniz. Aşağıda bir link paylaşıyorum. Fikir vermesi açısından faydalı olabilir.

    http://sqlhints.com/2014/03/18/dynamic-pivot-in-sql-server/

    Umarım faydalı olur...


    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    www.abdullahaltintas.com

    6 Nisan 2017 Perşembe 07:57
  • Merhabalar,

    Aslında Pivot  tam yapmak istediğimi karşılamıyor..

    SUM(Miktar) FOR MALZEME ()

    Ben yan yana   MİKTAR  - TUTAR  getirmek istiyorum.Pivot işleminde hem SUM foksiyonu gereksiz kalıyor..

    CASE ile yaptıgımda ise  satırlar yenileniyor.Bir faturanın içinde 3 kalem işlem varsa bunu tek satırda kolonlarının isimlerine göre   MİKTAR - TUTAR getirme  ihtiyacım var.

    Örnek CASE  bunu tek satırda getirmenin yöntemi önemli benim için

    6 Nisan 2017 Perşembe 08:17
  • Merhabalar,

    Aslında Pivot  tam yapmak istediğimi karşılamıyor..

    SUM(Miktar) FOR MALZEME ()

    Ben yan yana   MİKTAR  - TUTAR  getirmek istiyorum.Pivot işleminde hem SUM foksiyonu gereksiz kalıyor..

    CASE ile yaptıgımda ise  satırlar yenileniyor.Bir faturanın içinde 3 kalem işlem varsa bunu tek satırda kolonlarının isimlerine göre   MİKTAR - TUTAR getirme  ihtiyacım var.

    Örnek CASE  bunu tek satırda getirmenin yöntemi önemli benim için


    Merhaba aynı sorunu bende yaşıyorum çözebildiniz mi diye merak ettim.
    17 Aralık 2019 Salı 14:37
  • Merhabalar,

    Aslında Pivot  tam yapmak istediğimi karşılamıyor..

    SUM(Miktar) FOR MALZEME ()

    Ben yan yana   MİKTAR  - TUTAR  getirmek istiyorum.Pivot işleminde hem SUM foksiyonu gereksiz kalıyor..

    CASE ile yaptıgımda ise  satırlar yenileniyor.Bir faturanın içinde 3 kalem işlem varsa bunu tek satırda kolonlarının isimlerine göre   MİKTAR - TUTAR getirme  ihtiyacım var.

    Örnek CASE  bunu tek satırda getirmenin yöntemi önemli benim için


    Merhaba aynı sorunu bende yaşıyorum çözebildiniz mi diye merak ettim.

    Sorun ne ki? Group By, Case When, Sum, Min, Max ... kullanarak yapabilirsiniz. Yapamıyorsanız, ornek verinizle ve beklediğiniz ciktisiyla yeni bir soru olarak sorunuz.

    Not: Bu soruda PIVOT yaniltici olmuş, PIVOT ile yapılmayacak zaten.



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    17 Aralık 2019 Salı 14:47
  • Merhabalar,

    Aslında Pivot  tam yapmak istediğimi karşılamıyor..

    SUM(Miktar) FOR MALZEME ()

    Ben yan yana   MİKTAR  - TUTAR  getirmek istiyorum.Pivot işleminde hem SUM foksiyonu gereksiz kalıyor..

    CASE ile yaptıgımda ise  satırlar yenileniyor.Bir faturanın içinde 3 kalem işlem varsa bunu tek satırda kolonlarının isimlerine göre   MİKTAR - TUTAR getirme  ihtiyacım var.

    Örnek CASE  bunu tek satırda getirmenin yöntemi önemli benim için


    Merhaba aynı sorunu bende yaşıyorum çözebildiniz mi diye merak ettim.

    Sorun ne ki? Group By, Case When, Sum, Min, Max ... kullanarak yapabilirsiniz. Yapamıyorsanız, ornek verinizle ve beklediğiniz ciktisiyla yeni bir soru olarak sorunuz.

    Not: Bu soruda PIVOT yaniltici olmuş, PIVOT ile yapılmayacak zaten.



    ID        İSİM         FİYAT NO        FİYAT

    1          ELMA              1                10

    2          ELMA              2                11

    3          ELMA              3                12

    S.a

    Üst tabloda ki verileri aşaşğıdaki gibi sıralamak istiyorum.

     İSİM      FİYAT 1       FİYAT 2       FİYAT

    ELMA            10               11           12



    17 Aralık 2019 Salı 17:32
  • Daha önceki sorunuzun cevabini hiç okumamissiniz. Bir sorunuz varsa yeni bir soru olarak sorunuz, Boyle 2 sene oncesinden bir mesajin altına ek yapmayınız.  


    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    17 Aralık 2019 Salı 17:44