php - MySQL 选择列中所有值都相同的记录?

标签 php mysql symfony doctrine

我一直在研究产品数据库架构,其中一个要求是,为了将产品视为已停产,所有产品 sku 都必须设置为已停产。

Product Table:
id
slug
name

一个产品到多个ProductSkus

ProductSku Table
id
slug
name
product_id
product_sku_availability_id

一种产品 Sku 到一种产品 Sku 可用性

ProductSkuAvaliability
id
slug
name

现在我真的不需要精确的查询,但是有没有办法只选择所有productSkus.product_sku_availability都已停产的产品?这是我所要求的示例:

| productId | productSkuId | availabilityId |
| 1         | 1            | 1              |
| 1         | 2            | 1              |
| 2         | 3            | 2              |
| 2         | 4            | 1              |

在上面的示例中,我只想选择 ProductId = 1,因为两个产品 sku 的 AvailabilityId 均为 1。

最佳答案

如果每个productId 的availabilityId 列的值都相同,则最大值和最小值相等。因此应该是

GROUP BY productId 

HAVING (MIN(availabilityId) = 1 AND MAX(availabilityId) = 1)

产生期望的结果。

关于php - MySQL 选择列中所有值都相同的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546601/

相关文章:

MySQL 结果集问题

php - 将数据加载到水平时间线中

php - 如何使用 AngularJS 显示存储在 MySQL 中的 json 对象

php - 转义空白 : %20 or + - smarty

MySQL 查询多重连接为每一行复制数据? JIRA 数据库

php - 如何在 ci 中使用动态添加和删除时内爆文本区域值?

php 没有从生成的 url 中获取键和值

php - Symfony DateTimeType 没有当天的秒数/TimeType

symfony - Sonata 用户 - 自定义字段的安全性

php - 如何让PHP上传的数据在传输过程中是安全的?