Thread sql-Abfrage ueber 3 Tabellen (2 answers)
Opened by Uturn at 2012-02-13 17:39

murphy
 2012-02-13 18:08
#156078 #156078
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Guest Uturn
[...]
Damit bekomm ich zwar alle Aufgaben, aber ich hab ueber jeder Aufgabe den Kundennamen stehen und den will ich ja nur 1x als Headline quasi. Des weiteren weiss ich nicht, wie ich den LIMIT 5 auf die kunden.kid festlegen kann, denn ich moechte ja nicht insgesamt nur 5 sondern 5/Kunde.
[...]


In diesem Falle wäre es vermutlich geschickt, die Datenbankabfrage der Kundenids aus dem Join herauszulösen und separat abzuwickeln. Während man über die Ergebnisse der Abfrage aller Kundenids iteriert kann man dann für jeden Kunden eine weitere Abfrage auf einen Join der Projekt- und Aufgabentabellen absetzen, die man mit der gewünschten Sortierung und Limitierung versehen kann.

Im übrigen wird die Abfrage vermutlich effizienter, wenn man zur Abbildung der Beziehungen zwischen den Tabellen auch Joinbedingungen nutzt anstatt erstmal das volle Kreuzprodukt berechnen zu lassen und dann mit Filterbedingungen nachzubessern. Eine gute Datenbank optimiert das zwar eventuell weg, aber Compileroptimierungen sind eigentlich keine Entschuldigung für semantisch ungeschickten Code ;-)
When C++ is your hammer, every problem looks like your thumb.

View full thread sql-Abfrage ueber 3 Tabellen