yo,
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.
dafür musst du halt zwei bedingungen beachten. zum einen musst du nur die datensätze einschließen, die kein selbst gerippt im jeweiligen Titel haben. und dann musst du dich für einen ripped wert entscheiden. ich weiß aber nicht welchen du willst und so nehmen ich einfach einen mit MAX().
SELECT tab1.id, tab1.title, tab1.ripped
FROM discs AS tab1
WHERE tab1.id IN
(
SELECT MAX(tab2.id)
FROM discs AS tab2
GROUP BY tab2.titel
)
AND 0 =
(
SELECT COUNT(*)
FROM discs AS tab3
WHERE tab3.ripped = "self ripped"
AND tab3.titel = tab1.titel
)
eine andere möglichkeit wären Operatoren der Mengenlehre wie INTERCEPT oder andere. aber ich weiß nicht, ob dein dbms so etwas unterstützt.
Ilja