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]
[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
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
[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