MySQL SELECT - 相同记录必须匹配更多值

标签 mysql

我有一个表 prices,有 4 列(idprice1price2date ) 一些解释:

  • id 未设置为自动递增,并且可以有许多具有相同的 ID 值(即Id 123可以存在5次,但具有不同的参数)。
  • price1和price2是两个十进制值,它们将price1存储为起始价格,将price2存储为最终价格
  • date 为 VARCHAR ( 15),以代码形式存储价格日期(例如“J2015”——2015 年 1 月),并且是使用它的应用程序的某种 ID。

对 i.E. 的正常查询选择用于查询的 Id、price1 和 Price2

SELECT `id`, `price1`, `price2` 
FROM `prices` 
WHERE `price1` = '1.23' AND `price='3.45' AND `date`='J2015'

但随后一位客户想要扩展搜索范围。他想要所有通过以下条件的 ID(示例:)

价格1 = '1.50' AND 价格2 = '1.75' AND 日期 = 'AP2013'
还有
价格1 = '1.39' AND 价格2 = '1.45' AND 日期 = 'MAY2013'

起初我想使用 IN 参数,但这会/可能返回不正确的数据。所以我现在陷入困境。

最佳答案

使用自加入

SELECT p1.id
FROM prices AS p1
JOIN prices AS p2 ON p1.id = p2.id
WHERE p1.price1 = '1.50' AND p1.price2 = '1.75' AND p1.date = 'AP2013'
AND p2.price1 = '1.39' AND p2.price2 = '1.45' AND p2.date = 'MAY2013'

关于MySQL SELECT - 相同记录必须匹配更多值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31217691/

相关文章:

php - MySQL:计算每个字段中的不同值

Mysql建表错误代码

php - 检查数据库中是否存在表的问题

php - 多个 while 循环无法正常工作

mysql - 如何在 MySQL 中加入查询以根据距离计算和 Google 地理编码查找 WordPress 帖子?

mysql - 优化mysql中的自连接

php - 在服务器上上传多张图片

mysql - 在同一个查询中选择全部和一些

php - 在 mysql 表中保存当前 ip 地址

php - 一个对象json中的三个查询mysql