我有两张桌子:
此表使用settings.id字段作为FK来存储用户自定义设置(下面的设置表包含设置名称和默认值)
Column | Type | Modifiers
----------------+--------------------------+-------------------------------------------------------
id | integer | not null default nextval('settings_id_seq'::regclass)
key | text | not null
frontend_label | text |
default_value | text |
此表包含所有可用设置。例如every_email,app_notifications,block_user等...它还保留了每个的默认值。
settings
我使用属性包架构设计来存储我们应用的用户设置!它将包括通知设置,电子邮件设置等......
是否可以使用始终返回settings
列的查询,即使在那里添加where语句(where语句用于通过user_id查询account_settings)?
我试图获取帐户海关设置,以及LEFT JOIN select account_settings.*, settings.* from settings
LEFT JOIN account_settings
ON settings.id = account_settings.id
where account_settings.user_id = 'UUID_HERE';
表格中的默认值&标签
以下是我现在所拥有的:
pandas
但这不会返回设置表值!如果在account_settings.setting_id列中引用了settings.id列,它将仅返回设置值。
答案 0 :(得分:4)
删除你在条件
加入的条件 select account_settings.*, settings.* from settings
LEFT JOIN account_settings
ON settings.id = account_settings.id and account_settings.user_id = 'UUID_HERE';