mysql-选择几个精确的值

mysql-选择几个精确的值,mysql,Mysql,我的数据库中有一个表,其结构如下: obj_id - rel_val 4034 - 7366 4034 - 7387 4035 - 7366 4035 - 8051 4035 - 8057 字段“obj_id”-它是项目id字段。字段“rel_val”-属性值id。 例如id为4034的项目T恤。设置了id为7366的属性颜色“红色”。和属性大小-“M”(此属性值的id-7387) 我应该如何编写正确的sql查询,以获取所有颜色为“红色”和大小为“M”的项以及其他内容 我现在所拥有的: $st

我的数据库中有一个表,其结构如下:

obj_id - rel_val
4034 - 7366
4034 - 7387
4035 - 7366
4035 - 8051
4035 - 8057
字段“obj_id”-它是项目id字段。字段“rel_val”-属性值id。 例如id为4034的项目T恤。设置了id为7366的属性颜色“红色”。和属性大小-“M”(此属性值的id-7387)

我应该如何编写正确的sql查询,以获取所有颜色为“红色”和大小为“M”的项以及其他内容

我现在所拥有的:

$sth = $dbh->prepare("SELECT obj_id 
FROM cms3_object_content WHERE rel_val IN ('7343','7355','7368') LIMIT 100");
$sth->execute();
$result = $sth->fetchAll();
我尝试在中使用运算符,但如果任何值匹配,则返回obj_id


对不起,我的英语不好。我希望它能理解我想要什么。

正是我需要的。谢谢正是我需要的。谢谢正是我需要的。谢谢正是我需要的。谢谢
SELECT obj_id 
FROM cms3_object_content 
WHERE rel_val IN ('7343','7355','7368') 
group by obj_id 
having count(distinct rel_val) = 3
LIMIT 100