信任等级 0 + 自定义字段徽章

你好。我想根据信任等级和下拉自定义字段中选定的选项创建一个徽章,但我一直收到以下消息(另外,我不确定查询的其他部分是否正确,所以任何帮助都将不胜感激):

ERROR:  column "Woman" does not exist
LINE 10: ) AND LENGTH(cf.value) = "Woman"

它应该如何工作:
所以我创建了一个名为“性别”的下拉用户自定义字段,并设置了两个选项:“男”和“女”。
如果用户 X 是男性且已注册(信任等级 0),则应授予“男战士”徽章,否则授予“女战士”徽章。

另外,有人能告诉我可以在哪里查看所有现有自定义字段的用户字段编号吗?(在我的示例中,我使用的是字段名称,但以防万一)。

目前的查询(无法工作):

SELECT u.id, current_timestamp, cf.user_id user_id, cf.updated_at granted_at 
FROM users u, user_custom_fields cf 
INNER JOIN user_fields uf
      ON uf.id = (0 || regexp_replace(cf.name, 'user_field_', ''))::integer
      AND uf.name = 'Gender'
WHERE trust_level >= 0 AND (
  :backfill OR u.id IN (:user_ids)
) AND LENGTH(cf.value) = "Woman"

非常感谢!:slightly_smiling_face:

自定义字段现在可以工作了(我尝试实现这个示例),但无论我输入什么信任等级,潜在用户数量都保持不变:

    SELECT cf.user_id user_id, cf.updated_at granted_at
    FROM user_custom_fields cf
    INNER JOIN user_fields uf
      ON uf.id = (0 || regexp_replace(cf.name, 'user_field_', ''))::integer
      AND uf.name = 'Gender'
    WHERE cf.value = 'Woman'
AND EXISTS (
  SELECT u.id user_id, current_timestamp granted_at FROM users u
    WHERE trust_level >= 0 AND (
  :backfill OR u.id IN (:user_ids)
    )
)

有什么想法吗?