Ergebnis 1 bis 7 von 7

Thema: Abfragergebnis in eine Zeile bringen

  1. #1
    Andreas1981 ist offline Neuer Benutzer
    Registriert seit
    12.08.2010
    Beiträge
    5

    Standard Abfragergebnis in eine Zeile bringen

    Hallo!
    Ich habe folgendes Statement:

    SELECT distinct ap.aufnr,
    (CASE WHEN ap.info NOT LIKE '%O%' THEN SUM(STCK) ELSE 0 END) AS NichtVersandt,
    (CASE WHEN ap.info LIKE '%O%' THEN SUM(STCK) ELSE 0 END) AS Versandt,
    SUM (ap.stck) AS Gesamt
    FROM aufkopf ak INNER JOIN aufpos ap
    ON ak.aufnr = ap.aufnr
    WHERE ap.info Like '%S%' AND ak.kaufstatus not like '%f%'
    GROUP BY ap.aufnr,ap.info

    Als Ergebnis bekomme ich:

    Aufnr Versandt Nicht Versandt Gesamt
    12345 1 0 1
    12345 2 0 2

    Ergebnis sollte aber sein:

    Aufnr Versandt Nicht Versandt Gesamt
    12345 3 0 3

    Was mache ich falsch, bzw. muss ich tun, damit ich nur eine Zeile pro Aufnr habe.
    Schon mal vielen Dank im Voraus!

    MfG
    Andreas

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von Andreas1981 Beitrag anzeigen
    Hallo!
    Ich habe folgendes Statement:

    SELECT distinct ap.aufnr,
    (CASE WHEN ap.info NOT LIKE '%O%' THEN SUM(STCK) ELSE 0 END) AS NichtVersandt,
    (CASE WHEN ap.info LIKE '%O%' THEN SUM(STCK) ELSE 0 END) AS Versandt,
    SUM (ap.stck) AS Gesamt
    FROM aufkopf ak INNER JOIN aufpos ap
    ON ak.aufnr = ap.aufnr
    WHERE ap.info Like '%S%' AND ak.kaufstatus not like '%f%'
    GROUP BY ap.aufnr,ap.info

    Als Ergebnis bekomme ich:

    Aufnr Versandt Nicht Versandt Gesamt
    12345 1 0 1
    12345 2 0 2

    Ergebnis sollte aber sein:

    Aufnr Versandt Nicht Versandt Gesamt
    12345 3 0 3

    Was mache ich falsch, bzw. muss ich tun, damit ich nur eine Zeile pro Aufnr habe.
    Schon mal vielen Dank im Voraus!

    MfG
    Andreas
    sum() und GROUP BY sind Deine Freunde.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Andreas1981 ist offline Neuer Benutzer
    Registriert seit
    12.08.2010
    Beiträge
    5

    Standard

    Hallo Andreas,

    das verstehe ich nicht. was muss ich tun?

    Gruß
    Andreas

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von Andreas1981 Beitrag anzeigen
    Hallo Andreas,

    das verstehe ich nicht. was muss ich tun?

    Gruß
    Andreas
    select aufnr, sum(versandt) from (insert your query here) foo;

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    Andreas1981 ist offline Neuer Benutzer
    Registriert seit
    12.08.2010
    Beiträge
    5

    Standard

    Hallo Andreas,

    vielen Dank. Das funktioniert :-)
    Kurze Frage aber noch: Wofür steht foo?
    Da könnte theoretisch auch xyz (also egal was) stehen, richtig?

    Viele Grüße
    Andreas

  6. #6
    murphy ist offline Erfahrener Benutzer
    Registriert seit
    19.08.2009
    Beiträge
    165

    Standard

    Da könnte theoretisch auch xyz (also egal was) stehen, richtig?
    Wenn es syntaktisch richtig ist, ja!

  7. #7
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von Andreas1981 Beitrag anzeigen
    Hallo Andreas,

    vielen Dank. Das funktioniert :-)
    Kurze Frage aber noch: Wofür steht foo?
    Da könnte theoretisch auch xyz (also egal was) stehen, richtig?

    Viele Grüße
    Andreas
    Ja, das ist nur ein Alias, den die SQL-Norm dort vorsieht. Betrachte das einfach als temp. Tabelle mit dem Namen foo.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum