簡體   English   中英

MySQL選擇具有相同列值的記錄?

[英]MySQL select records that have all values of a column the same?

我一直在研究產品數據庫架構,其中一項要求是,為了將產品視為已停產,必須將所有產品類別都設置為已停產。

Product Table:
id
slug
name

一個產品到多個產品

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,因為兩個產品sksk的availabilityId為1。

如果對於每個productId列AvailabilityId的值都具有相同的值,則最大值和最小值相等。 因此,應該

GROUP BY productId 

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

產生期望的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM