Oracle
 sql >> Database >  >> RDS >> Oracle

SQL per ignorare le righe che hanno una proprietà particolare da una tabella unita

Potrebbe essere necessario modificare un po 'per accogliere l'unione, di solito vado per la vecchia scuola, quindi l'ho appena aggiunto alla fine. Attenzione:non esiste può essere un po' lento su volumi molto alti.

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