sql >> Base de Datos >  >> RDS >> Oracle

SQL para ignorar filas que tienen una propiedad particular de una tabla unida

Puede que tenga que ajustar un poco para acomodar la unión, por lo general voy por los lugares de la vieja escuela, así que lo agregué al final. Advertencia:no existe puede ser un poco lento en volúmenes muy altos.

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'
)