scbawik
Senior HTML'ler
Hallo!
Wäre gut wenn sich jemand mal folgendes ansehen kann:
http://sqlfiddle.com/#!2/1d48b/1
Kurze Erklärung was ich möchte.
Ziel ist, alle News zu selektieren, die beim letzten Kommentar (nur beim letzten - Feld "published") positiv ("gefaellt_mir") bewertet wurden. News die zwar schon mal mit gefaellt_mir kommentiert wurden aber nicht beim allerneusten Kommentar, sollen nicht selektiert werden. Es zählt also nur der jeweils neuste Kommentar.
Die richtige Ausgabe wäre in meinem Beispiel nur die News mit der news_id 3.
Die News mit der news_id 2 wurde zwar schon mal positiv kommentiert - allerdings nicht beim aktuellsten Kommentar. Deshalb darf sie nicht ausgegeben werden.
Ich bitte euch darum, keine Subqueries zu verwenden (wenn es überhaupt ohne geht). Ich habe nämlich schon eine gut funktionierende Abfrage mit dependent Subqueries welche aber unter MySQL 5.1 nicht korrekt optimiert wird und daher mehrere Stunden benötigt. Ein Update der MySQL-Version ist leider nicht möglich. Daher erhoffe ich mir von den JOINS dass der MySQL-Optimizer damit klar kommt.
In Wirklichkeit ist die Abfrage viel komplizierter und geht über 9 Tabellen. Das mit dem Datum ist allerdings der letzte "Knackpunkt" nachdem ich die Abfrage mit JOINS aufgebaut habe.
Wenn jemand meint es geht garnicht ohne Subqueries, wäre ich auch froh, dann wäre ich bestätigt.
Edit: Eine non-dependent Subquery ist natürlich schon ok, damit kommt der Optimizer ja klar.
Wäre gut wenn sich jemand mal folgendes ansehen kann:
http://sqlfiddle.com/#!2/1d48b/1
Kurze Erklärung was ich möchte.
Ziel ist, alle News zu selektieren, die beim letzten Kommentar (nur beim letzten - Feld "published") positiv ("gefaellt_mir") bewertet wurden. News die zwar schon mal mit gefaellt_mir kommentiert wurden aber nicht beim allerneusten Kommentar, sollen nicht selektiert werden. Es zählt also nur der jeweils neuste Kommentar.
Die richtige Ausgabe wäre in meinem Beispiel nur die News mit der news_id 3.
Die News mit der news_id 2 wurde zwar schon mal positiv kommentiert - allerdings nicht beim aktuellsten Kommentar. Deshalb darf sie nicht ausgegeben werden.
Ich bitte euch darum, keine Subqueries zu verwenden (wenn es überhaupt ohne geht). Ich habe nämlich schon eine gut funktionierende Abfrage mit dependent Subqueries welche aber unter MySQL 5.1 nicht korrekt optimiert wird und daher mehrere Stunden benötigt. Ein Update der MySQL-Version ist leider nicht möglich. Daher erhoffe ich mir von den JOINS dass der MySQL-Optimizer damit klar kommt.
In Wirklichkeit ist die Abfrage viel komplizierter und geht über 9 Tabellen. Das mit dem Datum ist allerdings der letzte "Knackpunkt" nachdem ich die Abfrage mit JOINS aufgebaut habe.
Wenn jemand meint es geht garnicht ohne Subqueries, wäre ich auch froh, dann wäre ich bestätigt.
Edit: Eine non-dependent Subquery ist natürlich schon ok, damit kommt der Optimizer ja klar.
Zuletzt bearbeitet: