*jiriki*: SQL: Kann man diese Anfrage simpler gestalten

Beitrag lesen

SELECT tab1.id, tab1.title, tab1.ripped
FROM discs AS tab1
WHERE tab1.id IN
    (
    SELECT MAX(tab2.id)
    FROM discs AS tab2
    WHERE tab2.ripped = "selbt gerippt"
    GROUP BY tab2.title
    )

das gibt dir erst einmal einen datensatz pro titel der gerippt wurde. nun musst du das ganze nur noch mit UNION verbinden, bei den titel, die keine gerippte version haben. aber ich weiß nicht, nach welchen kriterien du da eine auswahl treffen willst.

Mh, dann dürfte ich im zweiten SELECT nur noch die Datensatz-Gruppierungen betrachten, in denen _alle_ Datensätze den Wert "nicht selbst gerippt" in "ripped" haben. Gibt es so eine Klausel im Sinne von

  
GROUP BY x  
HAVING ALL y = "not self ripped"  

?

Greets, *jiriki*