感谢您抽出时间来阅读我的问题。我在我的网站(Wordpress wp_forms)上有一个表单,该表单会生成一个数据库条目wp_wpforms_entry_fields
,其中存储了该表单的条目。我的表单包含三个字段(姓名,电子邮件地址和是或否问题)。
我想做的是从field_id
和1
获得3
。因此,使用我的SQL可以执行以下操作:
$query = "SELECT *
FROM wp_wpforms_entry_fields
WHERE field_id = 1";
但这仅从field_id 1
中选择值,我希望也从WHERE field_id 3 = Yes
中获得值。这样,我就可以显示对该问题给出肯定答案的人的名字。
我不知道从哪里开始,这可能没有我做的困难。但要这样做:
$query = "SELECT *
FROM wp_wpforms_entry_fields
WHERE field_id = 1
AND field_id = 3
AND IS Yes";
肯定不起作用...再次感谢您的阅读。
PS。由于连接有效,我省略了数据库连接规则,我可以根据第一个SELECT
检索数据。但是我似乎无法将是与否分开。
答案 0 :(得分:1)
您必须将表连接到自身:
select f1.value as name
from wp_wpforms_entry_fields f1
inner join wp_wpforms_entry_fields f3 on (f1.entry_id = f3.entry_id and f3.field_id = 3)
where f1.field_id = 1 and f3.value = 'Yes'
以纯文本格式,您要查找条目的名称,其中field_id
3的行与entry_id
相同,并说'Yes'
。
或者,使用子查询:
select value as name
from wp_wpforms_entry_fields f1
where field_id = 1
and entry_id in (
select entry_id from wp_wpforms_entry_fields f3 where field_id = 3 and value = 'Yes'
)
在这里,我们选择在字段3中为“是”的entry_id
的列表,然后为entry_id
在第一个列表中的那些条目选择字段1的值。 / p>