具有meta_key、meta_value和的SQL查询具有2个条件



我正在尝试执行SQL查询,以在wordpress网站上查找用户的注册表单的表单id,因为该表单还没有用户的id,我必须找到唯一的用户电子邮件,并检查gdprchekbox-1是否为真,因为它只用于注册表格,所以如果我同时满足这两个条件,我知道表格ID将是用户的注册表格。

因此,如果两个条件都满足,我应该只有entry_id表单的一个结果

我试过:

SELECT entry_id 
FROM `mod114_frmt_form_entry_meta` 
WHERE (`meta_key`, `meta_value`) IN (("email-1","emailofuser@mail.com"),("gdprcheckbox-1","true"));

这是我得到的最接近的一个,但IN子句使它成为可能,所以它说OR和我需要这两个条件才能工作。

SELECT entry_id 
FROM `mod114_frmt_form_entry_meta` 
where meta_key IN("email-1","gdprcheckbox-1") 
AND meta_value IN("emailofuser@mail.com","true") LIMIT 1;

这一次也很接近,但仍然效果不佳。

我的表格如下:

meta_value电子邮件-1gdprcheckbox-1true
meta_id入口_idmeta_key
-129772emailofuser@mail.com
-131672

您只需要找到1条记录,并且只有当gdprcheckbox-1为true时:

SELECT entry_id 
FROM `mod114_frmt_form_entry_meta` 
WHERE (`meta_key`, `meta_value`) = ("email-1","emailofuser@mail.com")
AND EXISTS (SELECT 1 
FROM `mod114_frmt_form_entry_meta` 
WHERE (`meta_key`, `meta_value`) = ("gdprcheckbox-1","true")
)

最新更新