mySQL根据多个组提取一个ID

时间:2017-04-05 09:55:15

标签: mysql sql database

我有一张表格如下:

+-----------+--+---------+
| productID |  | GroupID |    
+-----------+--+---------+
|      3428 |  |3        |
|      3428 |  |6        |
|      3428 |  |15       |
|      3428 |  |16       |
|      3428 |  |17       |
|      3428 |  |18       |
|      3428 |  |39       |
|      3428 |  |44       |
|      3428 |  |46       |
|      3428 |  |48       |
|      3428 |  |50       |
+-----------+--+---------+

我想要一个查询来提取所有产品:

(GroupID 3或6或15)AND(GroupID 16或17或18)

在这种情况下,它会带回一个productID

2 个答案:

答案 0 :(得分:0)

  

您应该使用productID唯一身份。

因为ProductGroup Has Many产品和产品Belongs To ProductGroup

然后,你可以尝试像 -

SELECT
  productID
FROM
 YourTableName
WHERE
  (GroupID=3 OR GroupID=6 OR GroupID=15)
    AND
  (GroupID=16 OR GroupID=17 OR GroupID=18)

答案 1 :(得分:0)

试试这个:

SELECT 
   distinct(productID)
FROM table_name 
WHERE 
    GroupID in (3,6,15)
    or 
    GroupID in (16,17,18)