[英]Searching over multiple rows mysql
I have two tables projects and projects_meta 我有两个表项目和projects_meta
Projects
--------------------
id name
--------------------
1 A
2 B
3 C
projects_meta
------------------------------------------------------------
id project_id additional_field additional_value
------------------------------------------------------------
1 1 verified_by Erik
2 1 approved_by Dave
3 2 verified_by Riyaj
4 2 approved_by Mike
5 3 verified_by Erik
6 3 approved_by Dave
Now i want the output where joining both tables to find out what are the projects verified by Erik and approved by Dave 现在我想要在输出中加入两个表,以找出由Erik验证并由Dave批准的项目
SELECT *
FROM projects a
INNER JOIN projects_meta b
ON a.id = b.project_id
WHERE b.additional_field= 'verified_by'
AND b.additional_value = 'Erik'
AND b.additional_field= 'approved_by'
AND b.additional_value = 'Dave'
The Above query seems to work with a single condition but when there is more it returns empty result. 上面的查询似乎只适用于一个条件,但是当条件更多时,它返回空结果。
Thanks in advance 提前致谢
You need to JOIN
twice to projects_meta
table: 您需要两次
JOIN
到projects_meta
表:
SELECT *
FROM projects a
INNER JOIN projects_meta b ON a.id = b.project_id
INNER JOIN projects_meta c ON a.id = c.project_id
WHERE b.additional_field= 'verified_by' AND b.additional_value = 'Erik' AND
c.additional_field= 'approved_by' AND c.additional_value = 'Dave'
The above query returns all projects being linked both to 'verified_by Erik' AND 'approved_by Dave' records. 上面的查询返回所有链接到“ verified_by Erik”和“ approved_by Dave”记录的项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.