0

次の条件を満足する製品だけが欲しいです :

持っている((category_id = 1 OR category_id = 2) AND (category_id = 3 OR category_id = 4))

データベース構造:

製品

id  int(10)     
name    varchar(128)

カテゴリー

Id  int (10)
name    varchar(64)

カテゴリ_製品

product_id  int(10)
category_id int(10)

データ:

私の製品の詳細は次のとおりです。

Products:
id  name
1   P1
2   P2
3   P3
4   P4

私のカテゴリの詳細は次のとおりです。

Categories:
Id  name
1   C1
2   C2
3   C3
4   C4

私のカテゴリ製品マッピングの詳細は次のとおりです。

category_products:
product_id   category_id
1            1
1            3
1            4
2            2
3            1
3            2
3            3
3            4
4            1
4            4   



Final Output should be:
    id
    1
    3
    4
4

3 に答える 3

0

これを試して:-

select * 
from products 
where id in (select distinct(product_id) 
             from category_products 
             where (category_id =3 0R category_id=4) 
               AND (category_id =1 OR category_id=2))
于 2013-07-29T05:55:42.130 に答える