我一直在研究产品数据库架构,其中一个要求是,为了将产品视为已停产,所有产品 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/