Hallo Forum
Ich hab irgendwie ein Denkproblem in Bezug auf MySQL,
Joins und Group Bys.
Es sind zwei Tabellen vorhanden (Tabelle_1 und Tabelle_2).
Tabelle_2 ist über "Tabelle_1_id" mit Tabelle_1 verknüpft.
Mein Query sollte alle Datensätze aus Tabelle_1 zurückliefern,
bei dem es heißt, daß ALLE Statuswerte für Tabelle_1 über den
Wert 5 liegen. (Also nur der Datensatz mit der ID = 3)
Mit meinen bisherigen Versuchen, erhalte ich aber logischerweise
auch die Datensätze zurück, bei dem mind. einer der Statuswerte
über 5 liegen.
Meine bisherige Abfrage:
SELECT *
FROM Tabelle_1
LEFT JOIN Tabelle_2 ON (Tabelle_1.id = Tabelle_2.Tabelle_1_id )
WHERE Tabelle_2.status>5
Auch ein Group By hat bisher nichts bewirkt.
Ich hab zwar schon versucht in einigen MySQL-Docs was dazu zu finden - aber erstmal
wissen, wonach man jetzt suchen müsste.
Hat irgendjemand 'n Lösungsansatz oder zumindest einen Hinweis, wonach ich suchen sollte?
Gruß,
Mama
PS: Ich nutze hier MySQL 5.0.37 auf einem WindowsServer 2003.
Tabelle_1
+----+---------------------+
| id*| weitere Felder |
+----+---------------------+
| 1 | Infos |
| 2 | Infos |
| 3 | Infos |
+----+---------------------+
Tabelle_2
+----+--------------+--------+
| id*| Tabelle_1_id | status |
+----+--------------+--------+
| 1 | 1 | 0 |--|
| 2 | 1 | 1 |--|
| 3 | 1 | 2 |--|
| 4 | 1 | 3 |--|
| 5 | 1 | 3 |---> Kein Statuswerte über 5
| 6 | 2 | 6 |--|
| 7 | 2 | 6 |--|
| 8 | 2 | 6 |--|
| 9 | 2 | 7 |--|
| 10 | 2 | 0 |---> Nicht alle Statuswerte über 5
| 11 | 3 | 6 |--|
| 12 | 3 | 7 |--|
| 13 | 3 | 6 |--|
| 14 | 3 | 7 |--|
| 15 | 3 | 7 |---> Alle Statuswerte über 5!
+----+--------------+--------+
* = Primary