Zwei SQL-Abfragen in einem Statement

Janni72

Neuer Benutzer
Beiträge
4
Hallo Liebe Forum-Mitglieder!

Ich möchte (wie die Überschrift schon andeutet) ein Statement mit zwei SQL-Abfragen erstellen.

Beispiel:
Ziel.JPG

Momentan, mit folgender SQL-Abfrage bekomme ich zusammengefasst eine Zahl leider raus:

Code:
SELECT count(*) FROM Tabelle WHERE Alter IN (SELECT DISTINCT Alter FROM PORTALFILE WHERE Zeitraum >= '2020-01-01')) AND  Zeitraum >= '2020-01-01')

Mein Ziel ist jedoch Aufgelistet (wie in Schritt 3) nur einmal alle möglichen Alter angezeigt bekommen und in der zweiten Spalte die Summe.

Vielen Dank schon mal!

Viele Grüße Janni
 
Werbung:
  • ALTER ist ein reserviertes Schlüsselwort
  • das Alter ändert sich, man speichert daher das Geburtsdatum und berechnet das Alter 'on the fly' bei der Abfrage
  • Bilder sind Mist, weil nicht Copy&Paste in reale Tabellen gemacht werden kann
  • select age(...), count(1) from table group by age(...) bzw. extract(year from age(current_date, <DATUM>)) und danach gruppieren
 
Ergänzend: Bei MSSQL kannst du Alter in eckige Klammern setzen, dann werden sie nicht als Schlüsselwort erkannt, also [Alter]. Ist aber dennoch unglücklich Schlüsselwörter zu verwenden.
 
Danke erstmal für Eure Antworten.

Ich denke, ich habe mich falsch ausgedrückt, denn die Hinweise, die ihr mir gegeben habt habe ich geprüft und es liegt nicht daran, dass ich nicht das gewünschte Ergebnis erhalte.

Ich habe den Spaltennamen "Alter" in "Kategorie" umgewandelt und alles andere gleich gelassen.

Code:
SELECT count(*) FROM Tabelle WHERE 'Kategorie IN (SELECT DISTINCT 'Kategorie FROM PORTALFILE WHERE Zeitraum >= '2020-01-01')) AND  Zeitraum >= '2020-01-01')

Das Ergebnis mit meiner SQL-Abfrage lautet: 7

Mein gewünschtes Ergebnis sollte aber aus zwei Spalten bestehen wie oben im Bild in Schritt 3.
 
Dein Top-Level SQL ist ein "select count(*) from ...", also 1 Spalte. Warum träumst Du dann von 2 Spalten?

Wenn Du eine gute Idee hast und helfen willst, dann kannst Du gerne eine SQL-Abfrage hier hin posten und erklären. Wenn Du nichts besseres zu tun hast und einfach Läute beleidigen möchtest, dann brauchst Du auf meinem Thema nicht mehr zu antworten!
 
Code:
SELECT Kategorie,count(*) FROM Tabelle WHERE Kategorie IN (SELECT DISTINCT Kategorie FROM PORTALFILE WHERE Zeitraum >= '2020-01-01')) AND  Zeitraum >= '2020-01-01') GROUP BY Kategorie
?
 
Werbung:
Code:
SELECT Kategorie,count(*) FROM Tabelle WHERE Kategorie IN (SELECT DISTINCT Kategorie FROM PORTALFILE WHERE Zeitraum >= '2020-01-01')) AND  Zeitraum >= '2020-01-01') GROUP BY Kategorie
?

Tausend Dank!

Aus Deiner SQL-Abfrage konnte ich meine gewünschtes Ergebnis erhalten und etwas sogar verbessern.

Code:
SELECT 'Kategorie, count ('Kategorie) AS ANZAHL FROM Tabelle WHERE ('Kategorie IN (SELECT DISTINCT 'Kategorie FROM Tabelle WHERE (Zeitraum >= '2020-01-01')) AND  Zeitraum >= '2020-01-01') GROUP BY 'Kategorie,
 
Zurück
Oben