Neu Individuelle Listenansichten - SQL Frage

Oqqi2009

Aktives Mitglied
7. Oktober 2019
8
2
Hallo zusammen,

wir haben eine eigene individuelle Ansicht per SQL erstellt. Wir haben bei den Kunden eigene Felder erstellt mit und diese sollen in der individuellen Ansicht angezeigt werden.
Wir haben soweit geschafft alle Felder angezeigt zu bekommen, aber momentan erhalten wir die Tabelle nur in vertikaler Ansicht, heißt untereinander, weil es 4 einzelne Datensätze sind.
Gibt es eine Möglichkeit die Felder horizontal angezeigt zu bekommen?

Wären sehr dankbar für eure Tipps.
Anbei der SQL-Befehl:

SELECT
cName AS Feld, (CASE WHEN kef.dWertDateTime IS NOT NULL THEN CONVERT(VARCHAR(20), kef.dWertDateTime, 104) ELSE kef.cWertVarchar END) AS Wert
FROM
Kunde.tKundeEigenesFeld AS kef LEFT JOIN tAttributSprache AS ats ON ats.kAttribut = kef.kAttribut WHERE kef.kKunde = @Key;
 

TimW

Gut bekanntes Mitglied
16. Januar 2019
40
30
Hi,

das Zauberwort dafür ist "PIVOT" ist aber etwas komplizierter so umzusetzten, wie man es im Endeffekt haben möchte. Ich hoffe das hilft dir weiter.

Alternativ würde es auch mit einem GroupBy uns CASE gehen, hat aber den Nachteil, dass man alle FreiFelder selber nochmal in der Abfrage angeben muss.

SQL:
SELECT
    kef.kKunde,
    MAX(CASE WHEN ats.cName = 'Vertreter' THEN kef.cWertVarchar END) as Vertreter,
    MAX(CASE WHEN ats.cName = 'Kundenmappe' THEN kef.cWertVarchar END) as Kundenmappe
FROM Kunde.tKundeEigenesFeld kef
LEFT JOIN tAttributSprache AS ats ON ats.kAttribut = kef.kAttribut
GROUP BY kef.kKunde
 
Zuletzt bearbeitet: