مستوى الثقة 0 + شارة حقل مخصص

مرحباً. أود إنشاء شارة تعتمد على مستوى الثقة والخيار المحدد من حقل مخصص من القائمة المنسدلة، لكنني أستمر في الحصول على هذه الرسالة (كما أنني غير متأكد مما إذا كان باقي الاستعلام صحيحاً، لذا فإن أي مساعدة ستكون محل تقدير):

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

كيف يجب أن يعمل الأمر:
لقد أنشأت حقلاً مخصصاً للمستخدم من القائمة المنسدلة باسم “Gender” مع خيارين، وهما “Man” و “Woman”.
إذا كان المستخدم X رجلاً وسجّل الدخول (مستوى ثقة 0)، فيجب منح شارة “Warrior Male”، وإلا تُمنح شارة “Warrior Female”.

أيضاً، هل يمكن لأحد أن يخبرني أين يمكنني رؤية رقم حقل المستخدم لجميع الحقول المخصصة الموجودة لدي؟ (في مثالتي أستخدم اسم الحقل، لكن احتياطاً فقط).

الاستعلام حتى الآن (غير يعمل):

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:

إعجابَين (2)

حقل التخصيص يعمل الآن ( لقد حاولت تطبيق هذا المثال )، ولكن بغض النظر عن مستوى الثقة الذي أدخله، يظل عدد المستخدمين المحتملين كما هو:

    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)
    )
)

هل لديك أي أفكار؟