WHERE (user_id = 17 OR user_id IS NULL) AND name = "menu_items"
Et juste pour nettoyer le reste de la requête :
L'id
dans les préférences définies n'a pas besoin d'être là, utilisez une clé combinée de preference_id
et user_id
à la place.
Si l'id
de preferences
a été nommé preference_id
, le long ON
l'instruction peut être remplacée par USING(preference_id)
Le IF
la fonction peut être remplacée par COALESCE(defined_value, default_value)