Select abfrage aus 2 Tabellen, mit begrenzter Ausgabe
Weinberger
- datenbank
In meiner Datenbank sind zwei Tabellen, in der einen sind die Datensätze zu meinen Referaten,
in der zweiten sind zu jedem Referat ein oder mehrere Dokumente zugeordnet.
Datenbank 1
------------
id ! name ! datum
1 ! Deutsch ! 11.01.2012
2 ! Erdkunde ! 10.02.2012
Datenbank 2
------------
id ! zuordnung
1 ! 1
2 ! 1
3 ! 1
4 ! 2
5 ! 2
Nun möchte ich die neusten 10 Referate abrufen und dazu immer ein Dokument aus der Datenbank2 auch wenn mehrere da sind, am besten immer das mit der kleinsten ID.
SELECT a.name, b.id FROM datenbank1 a, datenbank2 b WHERE a.id=b.zuordnung ORDER by a.datum DESC LIMIT 10
Das Ergebnis ist, das die letzen 10 Datensätze aus der Datenbank1 ausgegeben werden, doch auch alle Dokumente:
Ausgabe
-------------
Deutsch ! 1
Deutsch ! 2
Deutsch ! 3
Erdkunde ! 4
Erdkunde ! 5
Es sollte aber nur folgendes ausgegeben werden:
Ausgabe
----------
Deutsch ! 1
Erdkunde ! 4
Es wäre toll, wenn mir jemand bei meinem Problem unter die Arme greifen würde!
Weini
Entschuldigung, sollte eigentlich nicht vorkommen, aber ich habe noch etwas vergessen.
Wenn in der Datenbank2 keine Dokumente zu einem Eintrag in der Datenbank1 zugeordnet sind, erlogt auch keine Ausgabe vom Datensatz der Tabelle1.
Weini
Hallo,
Nun möchte ich die neusten 10 Referate abrufen und dazu immer ein Dokument aus der Datenbank2 auch wenn mehrere da sind, am besten immer das mit der kleinsten ID.
eine typische Aufgabe für korrelierte Unterabfragen.
Freundliche Grüße
Vinzenz