我正在尝试执行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_id | 入口_id | meta_key | meta_value|
---|---|---|---|
-1297 | 72 | 电子邮件-1emailofuser@mail.com | |
-1316 | 72 | gdprcheckbox-1true
您只需要找到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")
)