2017-04-05 8 views
2

に基づいて1つのIDを引っ張る:MySQLは、以下のように、私はテーブルを持っている複数のグループ

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

私は、クエリをしているすべての製品引くたい:

(グループID 3または6または15)AND (グループID 16または17または18)

この場合、それはあなたがあなたのproductIDユニークなを使用する必要がありますバック1つのproductID

+0

は '異なるとサンプルデータを修正productID's' –

答えて

0

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

をもたらすでしょう。

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) 
関連する問題