mysql - 从mysql中选择不同键值

标签 mysql sql

我想编写一些查询,为我提供具有特定键值的产品

tbl_产品

  product_id  field_id    value
      1          1         100
      1          2         200

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

最佳答案

您可以使用 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

关于mysql - 从mysql中选择不同键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50410591/

相关文章:

sql - 如何比较Postgresql中的两个表?

sql - 为两列的组合添加唯一约束

mysql - 如果历史表中的字段发生变化,如何更新它?使用触发器

MySQL:正向工程,错误 1826

javascript - 使用 PHP/JS/MYSQL 恢复 ID 或值

mysql - 在我的服务器上说 "Could not load file or assembly ' MySql.Web ...“但我的应用程序中有 mysql

mysql - 高效的计费数据库设计

sql - SQL Server 2012 中的 LAST_VALUE 返回奇怪的结果

csv 上传后的 PHP 法语和俄语字符

php - Ion 编码不适用于 php post