Also versuche ich Zeilen in Spalten zu konvertieren. Dies hat vor auf dieser Seite in einer Vielzahl von verschiedenen Möglichkeiten abgedeckt, die Art und Weise Ich mag das Beste ist, wie folgt:Eine Tabelle in iSeries DB2 dynamisch schwenken
SELECT
FRNPCM032.WFP.WFORD#,
MAX(CASE WHEN FRNPCM032.WFP.WFSEGN = 'COLOR1' THEN WFVAL END) AS COLOR,
MAX(CASE WHEN FRNPCM032.WFP.WFSEGN = 'OSKVA' THEN WFVAL END) AS KVA,
MAX(CASE WHEN FRNPCM032.WFP.WFSEGN = 'OSSWITCH' THEN WFVAL END) AS LBSWITCH
FROM FRNPCM032.WFP
GROUP BY FRNPCM032.WFP.WFORD#;
Dies ist eine sehr einfache Art und Weise ist, aber ich brauche etwas weniger manuelle als dies, weil neue Zeilen könnten später hinzugefügt werden und ich möchte nicht zurückgehen müssen, um eine Abfrage oder Ansicht aufrechtzuerhalten.
Gibt es eine Möglichkeit, das kann ich dynamisch tun? Ich kann mir einen Weg vorstellen, wie man das mit Loops macht, aber das kann ich in einer Abfrage oder Ansicht nicht tun.
Es ist nicht wie IBM D2 scheint hat eine 'PIVOT' Methode wie andere RDBMS wie in [vorherigen Beiträgen] (https://stackoverflow.com/questions/15529107/pivoting-in-db2) gesehen. Erwägen Sie die Verwendung von Universalcode (Java, Python, C#, PHP, VB, Perl, R), um die Ergebnismenge neu zu gestalten. Alle diese können sich mit DB2 verbinden. SQL ist eine spezielle, deklarative Sprache, die wirklich für unveränderliches, Set-basiertes Retrieval und Manipulation, nicht für dynamisches Reporting entwickelt wurde. – Parfait