Hey,
ich möchte mit SQL aus meiner Datenbank etwas auslesen.
Sie enthält die Spalten Vorname, Nachname, Geschlecht, Datum.
Ich möchte nun Vorname und Nachname des ersten männlichen und des ersten weiblichen Kunden einschließlich Kaufdatum ausgeben. (die mit dem kleinsten Datum)
Meine Idee:
SELECT Vorname, Nachname, Datum FROM daten.bank GROUP BY Geschlecht HAVING Datum=(SELECT MIN(Datum) FROM daten.bank);
Das erzeugt aber nicht das gewünscht Ergebnis.
Was mache ich falsch.
LG
Willibergi
Ich denke da gäbe es mehrere Wege, hier wäre es mit UNION und orderby-Sortierung:
(
SELECT Vorname, Nachname
FROM daten.bank
WHERE Geschlecht = 'm'
ORDER BY Datum ASC
LIMIT 1
)
UNION
(
SELECT Vorname, Nachname
FROM daten.bank
WHERE Geschlecht = 'w'
ORDER BY Datum ASC
LIMIT 1
)
Ungetestet
Ich soll es aber mit GROUP BY und evtl. HAVING realisieren, dementsprechend müsste es doch auch so machbar sein, oder?
Wäre das plausibel?
SELECT Vorname, Nachname, MIN(Datum) FROM daten.bank GROUP BY Geschlecht
Gesendet von iPhone mit Tapatalk