Hallo SQL-Profis,
ich dachte erst, es wäre eine einfache Aufgabenstellung, jedoch konnte ich bisher keine passende Lösung finden ...
Gegeben sei folgende Tabelle namens Dokumente:
Code:
+------------+--------------+---------+
| 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:
Code:
+------------+--------------+---------+
| 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?
------------------
MfG, DonChunior
BOINC - Rechenleistung spenden
[Diese Nachricht wurde von DonChunior am 28. Jan. 2015 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP