Oracle
 sql >> Base de données >  >> RDS >> Oracle

SQL pour ignorer les lignes qui ont une propriété particulière d'une table jointe

Il faudra peut-être peaufiner un peu pour s'adapter à la jointure, je vais généralement pour la vieille école, donc je l'ai juste ajouté à la fin. Attention :non existe peut être un peu lent sur des volumes très élevés.

select drink_name, drink_brand, colorprop.prop_val as drink_color 
from drinks
join properties colorprop
on drinks.drink_id = properties.drink_id
where colorprop.prop_type = 'color'
/* skip if there a sweetener for that drink */
and not exists
(select 1
from properties s
where s.drink_id = drinks.drink_id
and s.prop_type = 'sweetener'
)