WHERE (user_id = 17 OR user_id IS NULL) AND name = "menu_items"
I po prostu posprzątaj resztę zapytania:
id
w zdefiniowanych preferencjach nie musi tam być, użyj kombinacji klucza preference_id
i user_id
zamiast tego.
Jeśli id
preferences
został nazwany preference_id
, długi ON
oświadczenie można zastąpić USING(preference_id)
IF
funkcja może być zastąpiona przez COALESCE(defined_value, default_value)