Być może trzeba będzie trochę poprawić, aby dostosować się do łączenia, zwykle wybieram oldschoolowe miejsce, więc po prostu dodałem to na końcu. Ostrzeżenie:nie istnieje, może być odrobinę powolne przy naprawdę dużych ilościach.
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'
)