php - Mysql关系一对多获取数据多where子句

标签 php mysql database relationship one-to-many

我的 mysql 数据库中有 2 个表

1用于注册所有个人信息,ID自增 2 表示某些具有值且 ID_Anagrafica = ID 的属性

我的问题是:如果我只想在第一个表中搜索第二个表上具有某些属性值的注册表,我该怎么做?

示例:

第一个注册表: enter image description here

属性值的第二个表:

enter image description here

ID_Anagraficaregistry 中的 ID 匹配

有一个查询在第二个表上使用 where 子句返回 ID:

SELECT *
FROM "first table"
WHERE "secondTable".valore = "value"
AND "secondTable".valore = "value";

最佳答案

这是一种方式... in 的值和 count 的值可以是传入的变量,因为您将始终知道您传入的值以及有多少个...

SELECT * 
FROM First A
INNER JOIN (SELECT ID_anafrafica 
            FROM Second
            WHERE Valore in ('value1','Value2')
            Group by ID_anafrafica 
            having count(ID_Anafrafica) = 2) B
 on A.ID  = B.ID_anafrafica 

我不喜欢的是你没有关闭 ID_Attributo,但我认为如果你正在寻找属性的值(value),你应该这样做

与为每个元素添加额外的联接相比,这应该在性能和可维护性方面具有更好的扩展性。

关于php - Mysql关系一对多获取数据多where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997110/

相关文章:

php - 如何使用 php if ($text like %admin%) 搜索文本

php - 如何在 MySQL 查询中引用表点列表示法

database - 什么时候使用@TableGenerator?

mysql - 尝试跳过Where for Laravel中的重复值

mysql - Symfony:执行 SELECT 时发生异常...注意:数组到字符串的转换

javascript - 更改模型的表名运行时

php - Javascript对应的Jquery中如何绑定(bind)Onclick事件

php - 如何使用 PHP 更新/扩展 facebook 访问 token ?

php - IMG SRC inside PHP with more PHP inside 如何

mysql - 最新 - 邮政编码数据库?