MariaDB - 搜索具有相同 id 的多行

Ven*_*nom 2 mariadb

我有一个包含三列的表格。第一个product_id链接到另一个表,第二个att_id链接到另一个表,最后一个val_id链接到不同的表。

有相同的行product_idval_id组合att_id。每个product_id可以有不同数量的val_id (如下例所示)。表看起来像:

产品编号 属性ID 有效的
77 1 7
78 1 10
78 1 2
79 3 2
79 2 1
79 2 1
80 3 2
80 2 1
80 1 1
81 2 2
81 1 1
81 2 1
82 2 1
82 2 1
83 2 1
84 3 2
85 3 2
85 2 2
85 2 1

我的目标是选择等于 的product_id地方。根据用户输入可以有更多的s。val_id(1 AND 2)val_id

因此,上面示例的预期结果应该是:

产品编号
79
80
81
85

我无法弄清楚product_id,因为每个val_id组合都位于不同的行中。

因此,任何帮助将不胜感激。

Erg*_*sha 5

我认为您正在寻找类似的东西:

select product_id
from test_tbl
where val_id in (1,2) 
group by product_id
having count(distinct val_id) = 2;
Run Code Online (Sandbox Code Playgroud)

结果:

产品编号
79
80
81
85

演示