Datenbank: Firebird • Version: V2.5 • Zugriff über: IBX
Text Daten von Vertikal in Horizontal bringen (alles in einen Zeile)
Hallo Leute,
ich möchte gerne die Daten welche in einer Tabelle untereinander stehen nebeneinander bekommen. Mit Beträgen ist das ja kein Problem (SUM) aber wie mache ich das mit Text ? Beispiel Tabelle1
Delphi-Quellcode:
In Raum_1 Regal 3 ist nicht drin.
Standort, Regal, Artikeltext
Raum_1, 1, Artikel 1 Raum_1, 2, Artikel 2 Raum_1, 3, Raum_1, 4, Artikel 4 Dann dachte ich mir es sollte so funktionieren
Delphi-Quellcode:
Also Ergbis hätte ich dann gerne
Select Standort,Regal,
iif (Regal = '1', Artikeltext,NULL) as Regal_1, iif (Regal = '2', Artikeltext,NULL) as Regal_2, iif (Regal = '3', Artikeltext,NULL) as Regal_3, iif (Regal = '4', Artikeltext,NULL) as Regal_4, From ArtikelDaten Where Artikeltext <> '' and Artikeltext is not NULL Groub by Standort,Regal Raum1,Artikel 1,Artikel 2,,Artikel 4 Leider kommt das hier raus Raum1,Artikel1,NULL,NULL,NULL Raum1,NULL,Artikel2,NULL,NULL Raum1,NULL,NULL,NULL,Artiek4 Nun die große Frage : "Wie bekomme ich alles in einen Zeile ? Tanja |
AW: Text Daten von Vertikal in Horizontal bringen (alles in einen Zeile)
Nennt sich Pivot. Du musst die Daten natürlich "aggregieren":
SQL-Code:
Select
Standort,Regal, MIN(iif (Regal = '1', Artikeltext,NULL)) as Regal_1, MIN(iif (Regal = '2', Artikeltext,NULL)) as Regal_2, MINiif (Regal = '3', Artikeltext,NULL)) as Regal_3, MIN(iif (Regal = '4', Artikeltext,NULL)) as Regal_4, From ArtikelDaten Where Artikeltext <> '' and Artikeltext is not NULL Group by Standort,Regal |
AW: Text Daten von Vertikal in Horizontal bringen (alles in einen Zeile)
Danke das war aber einfach :oops: Tanja
|
AW: Text Daten von Vertikal in Horizontal bringen (alles in einen Zeile)
Das Statement ist wirklich nicht schwierig, wenn man es einmal gesehen hat. Eher unhandlich bei mehreren Spalten. Schwer ist es eher für den Server, der bei großen Datenmengen dann gut zu kauen hat.
Vielleicht kommt das ja in der Version 4 von Firebird als echte, optimierte Pivotfunktion? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz