Announcement

Collapse
No announcement yet.

mehrere Spalten für unterschiedlich gefilterte und gezählte Werte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mehrere Spalten für unterschiedlich gefilterte und gezählte Werte

    Liebe Community,

    ich arbeite direkt auf unserer Navision SQL-Datenbank und möchte folgende Abfrage erstellen - jedoch stosse ich hier auf meine beschränkten SQL-Abfragekenntnisse.

    Ich habe zwei Tabellen:
    1. Tabelle "Auftragskopf" mit den ganzen Auftragsinformationen (z.B. Auftragsnummer, Kunde...)
    2. Tabelle "Auftragszeile" mit den ganzen Produktinformationen (z.B. Artikeltyp, Menge...)

    In meiner SQL-Abfrage möchte ich alle Datensätze der Tabelle "Auftragskopf" angezeigt haben mit folgenden Spalten:
    - Auftragsnummer (aus Tabelle Auftragskopf)
    - Anzahl Auftragszeilen wo Artikeltyp = A
    - Anzahl Auftragszeilen wo Artikeltyp = B

    Zwar kann ich eine Abfrage die wie folgt lautet bauen aber dann zeigt das Ergebnis zwei Zeilen für einen Auftrag der sowohl Artikeltyp A und auch B enthält. Genau das möchte ich jedoch nicht, sondern nur eine Zeile mit den Informationen zu Artikeltyp A und B in zwei separaten Spalten.

    Hier die Abfrage die mir nicht reicht:
    SELECT Auftragskopf.Auftragsnummer, COUNT(Auftragszeile.Artikeltyp) AS EXPR1, Auftragszeile.Artikeltyp
    FROM Auftragskopf INNER JOIN Auftragszeile ON Auftragskopf.Auftragsnummer = Auftragszeile.Auftragsnummer
    GROUP BY Auftragskopf.Auftragsnummer, Auftragszeile.Artikeltyp

    Wäre super, wenn mir jemand einen entsprechenden SQL-String posten könnte.

    Vielen Dank schon mal.

    Gruß

    Rainer

  • #2
    Mit SUM und CASE
    [HIGHLIGHT="SQL"]SELECT AK.Auftragsnummer
    , SUM(CASE WHEN AZ.Artikeltyp = 'A' THEN 1 ELSE 0 END) AS A
    , SUM(CASE WHEN AZ.Artikeltyp = 'B' THEN 1 ELSE 0 END) AS B
    FROM Auftragskopf AS AK
    JOIN Auftragszeile AS AZ ON AK.Auftragsnummer = AZ.Auftragsnummer
    GROUP BY AK.Auftragsnummer[/HIGHLIGHT]

    PS Formatierung von SQL in Beiträgen

    Comment

    Working...
    X