Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Proleme bei Pivot

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Coxey, 24 Januar 2013.

  1. Coxey

    Coxey Neuer Benutzer

    Hallo, Fachleute und Könner sowie alle Interessenten.

    ich bin neu in diesem Forum und hoffe sehr, dass mir bei meiner Problemstellung geholfen werden kann.

    Meine Voraussetzungen:
    MS SQL - Server 2005 - 2012
    Querybuilder = Flyspeed OueryBuilder
    SQL Kenntnisse = mittelmäßig aber lernwillig (ich weiß wie ein einfaches Pivot erstellt wird)


    [SQL-Statment:]

    Code:
    Select
    MDT.MandantenNummer As MdtNr,
    Replace(Replace(Replace(Replace(Replace(Kommunikation.Nummer, '/', ''), '-',''), '+', '00'), ' ', ''), 'http:', '') As Medium,
    Replace(Kommunikation.Bemerkung, ';', ',') As Bemerkung,
    ZuordnungBemerkung =
        Case
          When Row_Number() Over (Partition By MDT.MandantenNummer,Kommunikation.Medium Order By Kommunikation.Reihenfolge, Kommunikation.Medium Desc) = 1 And Kommunikation.Medium = 1 Then 'MD8111'
          When Row_Number() Over (Partition By MDT.MandantenNummer,Kommunikation.Medium Order By Kommunikation.Reihenfolge,Kommunikation.Medium Desc) = 2 And Kommunikation.Medium = 1 Then 'MD8121'
        End,
    ZuordnungMedium =
        Case
          When Row_Number() Over (Partition By MDT.MandantenNummer,Kommunikation.Medium Order By Kommunikation.Reihenfolge,Kommunikation.Medium Desc) = 1 And Kommunikation.Medium = 1 Then 'MD8112'
          When Row_Number() Over (Partition By MDT.MandantenNummer,Kommunikation.Medium Order By Kommunikation.Reihenfolge,Kommunikation.Medium Desc) = 2 And Kommunikation.Medium = 1 Then 'MD8122'
        End
    From
    EODB.DB.u_sd_MDT As MDT
    Left Outer Join
      (Select
        MDT.MandantId,
        ADT.AdressatId
      From EODB.DB.u_sd_MDT As MDT
      Inner Join
      EODB.DB.u_sd_BZGMDT As BZGMDT On BZGMDT.MandantId = MDT.MandantId
      Inner Join
      EODB.DB.u_sd_BZG As BZG On
      ((BZG.BeziehungId = BZGMDT.BeziehungId
        And MDT.MandantenTyp = 1
        And BZG.BeziehungArtId = 'S00001')
        Or
      (BZG.BeziehungId = BZGMDT.BeziehungId
      And MDT.MandantenTyp = 2
      And BZG.BeziehungArtId = 'S00003')
      Or
      (BZG.BeziehungId = BZGMDT.BeziehungId
      And MDT.MandantenTyp = 3
      And BZG.BeziehungArtId = 'S00003'))
    Inner Join
    EODB.DB.u_sd_ADT As ADT On ADT.AdressatId = BZG.IstAdressatId) As
    Beziehung On Beziehung.MandantId = MDT.MandantId
    Inner Join
    EODB.DB.u_sd_KOMM Kommunikation On Kommunikation.AdressatId =
    Beziehung.AdressatId
    Where
      Replace(Replace(Replace(Replace(Replace(Kommunikation.Nummer, '/', ''), '-',''), '+', '00'), ' ', ''), 'http:', '') Is Not Null
    Order By
      MDT.MandantenNummer
     
     
     
    
    [/CODE]









    [vorläufiges Ergebnis:]

    MdtNr /Medium/Bemerkung /ZuordnungBemerkung/ZuordnungMedium
    10000/01234-23455/TestNummer/MD8111/MD8112
    10000/05437-87654/TestNummer2/MD8121/ MD8122
    10002/0654-12345/Testnummer3/MD8111/MD8112
    ...........

    Die Spalten "Medium" und "Bemerkung" sollen Pivotiert werden. Die Spalten "ZuordnungBemerkung" und "ZuordnungMedium" beinhalten die Header.

    [gewünschtes Ergebnis:]

    MdtNr/MD8111/MD8112/MD8121/MD8122/MD8131/MD8132 ................
    10000/TestNummer/01234-23455/TestNummer2/05437-87654 ................
    10002/Testnummer3/0654-12345 .............


    Bei dieser Aufgabenstellung muss ich leider die Segel streichen.
    Ich bin mir aber sicher, hier ein paar Lösungsansätze zu finden.

    An alle die sich hier dran machen schon mal ein dickes Dankeschön!

    Gruß Coxey
     
  2. akretschmer

    akretschmer Datenbank-Guru

Die Seite wird geladen...
Ähnliche Themen - Proleme Pivot
  1. Springstil
    Antworten:
    7
    Aufrufe:
    1.318
  2. dbfbka
    Antworten:
    3
    Aufrufe:
    911
  3. davidlui86
    Antworten:
    10
    Aufrufe:
    1.617
  4. IchHH
    Antworten:
    2
    Aufrufe:
    1.027
  5. FrenchSpirit
    Antworten:
    4
    Aufrufe:
    2.107

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden