我将如何返回与查询结果相关的所有类别ID?根据结果消除空的类别?
items_cats: (many to many)
product_id | category_id
====================
1 | 1
1 | 2
1 | 4
1 | 7
2 | 1
2 | 3
2 | 4
2 | 7
3 | 1
3 | 3
3 | 4
3 | 8
在下面的查询我得到的所有产品ID的包含CATEGORY_ID 3和CATEGORY_ID 7
但我也想知道这CATEGORY_ID的(选择)仍然有producs_id对选择的基础:
例如我喜欢返回(基于代码示例)该查询:
-product_id = 2
-category_id的:7,3,4,1
当使用此我可能会喜欢limet查询为每页最多项目。
代码我; VE这么远:
SELECT
DISTINCT t1.product_id, t1.category_id
FROM
items_cats t1
INNER JOIN
items_cats t1b
ON t1.product_id =t1b.product_id
WHERE
t1.category_id=3 AND
t1b.category_id=7
问题在猫ID的宽松查询:
SELECT
e1.category_id
FROM
drinks_ingredients e1
WHERE
e1.category_id=2
当然它返回2,但我喜欢它返回1,2, 4,7.
围绕着工作的另一种方式,但是我怎样才能使很多产品和类别的效率更高?我可以将这些查询结合起来吗?
SELECT DISTINCT
t1.category_id
FROM items_cats t1
WHERE t1.product_id = 2
这是什么'iid'列? – 2012-01-11 12:54:22
是一个错误将它改为它应该是的 – Hank12312 2012-01-11 14:03:14