Passende SELECT-Abfrage gesucht
Hallo liebe Datenbank-Admins,
ich habe diese Frage bereits in einem anderen Forum gestellt.
Da sich dort aber überwiegend CAD-Anwender aufhalten, hielt ich es für sinnvoll, die Frage noch woanders zu stellen.
Sorry also für den Doppel-Post!
Nun zum Thema ...
Ich dachte erst, es wäre eine einfache Aufgabenstellung, jedoch konnte ich bisher keine passende Lösung finden.
Gegeben sei folgende Tabelle namens Dokumente:
Ich benötige nun eine Abfrage, die mir folgendes Ergebnis liefert:
Alle aktuellen (d. h. das neueste Datum) Dokumente des Dokuments mit der Nummer 1, von all seinen verfügbaren Sprachen.
Das Dokument mit der Nummer 1 gibt es in den Sprachen de, en und fr. Von de und en gibt es zwei, davon möchte ich jeweils das neueste.
Das erwartete Ergebnis des SELECTs wäre somit folgendes:
Aber wie muss nun die SELECT-Abfrage aussehen, so dass ich das gewünschte Ergebnis erhalte?
Gruß, DonChunior
ich habe diese Frage bereits in einem anderen Forum gestellt.
Da sich dort aber überwiegend CAD-Anwender aufhalten, hielt ich es für sinnvoll, die Frage noch woanders zu stellen.
Sorry also für den Doppel-Post!
Nun zum Thema ...
Ich dachte erst, es wäre eine einfache Aufgabenstellung, jedoch konnte ich bisher keine passende Lösung finden.
Gegeben sei folgende Tabelle namens Dokumente:
+------------+--------------+---------+
| DokumentNr | ErstellDatum | Sprache |
+------------+--------------+---------+
| 1 | 2015-01-28 | de |
+------------+--------------+---------+
| 1 | 2015-01-28 | en |
+------------+--------------+---------+
| 1 | 2015-01-27 | de |
+------------+--------------+---------+
| 1 | 2015-01-26 | en |
+------------+--------------+---------+
| 1 | 2015-01-01 | fr |
+------------+--------------+---------+
| 2 | ... | ... |
+------------+--------------+---------+
| ... | ... | ... |
+------------+--------------+---------+
Ich benötige nun eine Abfrage, die mir folgendes Ergebnis liefert:
Alle aktuellen (d. h. das neueste Datum) Dokumente des Dokuments mit der Nummer 1, von all seinen verfügbaren Sprachen.
Das Dokument mit der Nummer 1 gibt es in den Sprachen de, en und fr. Von de und en gibt es zwei, davon möchte ich jeweils das neueste.
Das erwartete Ergebnis des SELECTs wäre somit folgendes:
+------------+--------------+---------+
| DokumentNr | ErstellDatum | Sprache |
+------------+--------------+---------+
| 1 | 2015-01-28 | de |
+------------+--------------+---------+
| 1 | 2015-01-28 | en |
+------------+--------------+---------+
| 1 | 2015-01-01 | fr |
+------------+--------------+---------+
Aber wie muss nun die SELECT-Abfrage aussehen, so dass ich das gewünschte Ergebnis erhalte?
Gruß, DonChunior
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 261380
Url: https://administrator.de/contentid/261380
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo,
ungetestet
Deine Ausgabe zu deinem gewünschten Ergebnis ist falsch!
Du schreibst das du das neueste (aktuellste) Datum haben willst, und da 2015-01-28 das aktuellste ist darf 2015-01-01 nicht vorkommen!
Liebe Grüße
ITvortex
PS: Vergiss das bitte, hab das mit den Sprachen überlesen
ungetestet
SELECT * FROM Dokumente WHERE ErstellDatum = (SELECT MAX(ErstellDatum) FROM Dokumente) AND DokumentNr = 1;
Deine Ausgabe zu deinem gewünschten Ergebnis ist falsch!
Du schreibst das du das neueste (aktuellste) Datum haben willst, und da 2015-01-28 das aktuellste ist darf 2015-01-01 nicht vorkommen!
Liebe Grüße
ITvortex
PS: Vergiss das bitte, hab das mit den Sprachen überlesen
Ich würde mal so starten
Select DokumentNr , Max(Erstelldatum) , Sprache from Dokumente
group by DokumentNr
und mich dann herantasten
guck mal hier : http://www.w3schools.com/sql/default.asp
da findest du eigentlich alle erklärungen
Select DokumentNr , Max(Erstelldatum) , Sprache from Dokumente
group by DokumentNr
und mich dann herantasten
guck mal hier : http://www.w3schools.com/sql/default.asp
da findest du eigentlich alle erklärungen