SQL: subselect in join umschreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SQL: subselect in join umschreiben

    Hallo,

    vor einiger Zeit kaufte ich mir ein Übungsbuch zu SQL.
    Dort wird eine Videothe verwaltet und die Aufgabe lautet: "Selektieren alle Kunden, die momentan mehr als 2 Filme ausgeliehen haben und Stammkunden sind (mehr als 100 EUR Umsatz)"

    Dazu habe ich folgenden, funktionieren und richtigen Query geschrieben
    Code:
     
    SELECT k.first_name, k.last_name, SUM(p.amount) AS Umsatz 
    FROM payment AS p 
    JOIN (SELECT c.* FROM customer AS c 
     JOIN rental AS r ON c.customer_id = r.customer_id 
    WHERE r.return_date IS NULL GROUP BY c.customer_id HAVING 
    COUNT(*) > '1') AS k ON p.customer_id = k.customer_id 
    GROUP BY k.customer_id 
    HAVING SUM(amount) > 100 
    ORDER BY profit DESC;
    Kann mir jemand sagen, wie ich diesen Query in ein Query ohne Subselects umschreiben kann? Also nur Joins... ich finde das irgendwie schöner

    Ich habe mal gelesen, dass jeder Subquery in ein Join umgeschreiben werden kann, aber irgendwie habe ich Probleme damit, die beiden Bedingungen (2 Filme & Umsatz) zu kombinieren...#

    Danke
    Zuletzt geändert von failDEV; 11.07.2013, 13:57.

  • #2
    Dazu kann ich dir diesen Link empfehlen

    MySQL :: MySQL 5.1 Referenzhandbuch :: 13.2.7.1 JOIN

    Das ist auch wirklich nicht schwer .
    Hier ein kleines Beispiel
    PHP-Code:
    SELECT a.* FROM art a JOIN art b ON a.id b.id WHERE a.id 100 

    Kommentar

    Lädt...
    X