2

我有三张桌子:

物品

id   name   etc
--------------------
1    Rex   
2    Fido
3    Geoff

类别

id   name
------------
1    Dogs
2    Humans
3    Mammals

类别_项目

category_id  item_id
--------------------
1            1
3            1
1            2
3            2
2            3
3            3

我还有一个类别 ID 数组。我想计算与数组中所有类别相关的项目数。

例如...

Category_ids    Result
----------------------
1,2             0
2,3             1
1,2,3           0

很确定,当我弄清楚这一点时,我会踢自己。

4

1 回答 1

2

请尝试下面给出的查询..

select count(*) AS Result from (
         SELECT count(item_id) FROM category_item
                             WHERE 
                            category_id in (2 ,3)
                            GROUP by item_id 

                              HAVING count(*) = 2
                             ) AS temp

在这个查询 put count(*) value equal to total number of category_id for example if you are checking for category_ids 1,2,3 then put having count(*) = 3中。在此查询中,假设您提供 category_id 1 和 2,然后它将获取 item_id 的存在总数

我希望此查询对您有所帮助。

谢谢

于 2012-05-17T11:59:01.013 回答