首页 > 解决方案 > 从具有不同键值的mysql中选择

问题描述

我想写一些查询给我具有特定键值的产品

tbl_product

  product_id  field_id    value
      1          1         100
      1          2         200

我想找到所有具有 (field_id = 1 and value = 100) 和 (field_id = 2 and value = 200) 的产品

标签: mysqlsql

解决方案


您可以使用wheregroup byhaving

select product_id
from t
where (field_id = 1 and value = 100) or (field_id = 2 and value = 200 )
group by product_id
having count(*) = 2;

如果允许重复,那么您需要count(distinct field_id) = 2.


推荐阅读