[英]How to get all items by top parent category?
我有2個表: shop_products和shop_category 。
shop_products: ID,名稱,類別ID
shop_category: ID,名稱,parent_id,有效。 Active可以是“ true”或“ false”。 類別的嵌套方式類似於parent> subcat> subsubcat> ...
怎樣才能使所有父類別處於“ true”狀態的產品成為可能?
我嘗試使用JOIN。 但是它僅采用最接近的類別,而不采用樹的頂級類別。
SELECT * FROM shop_products
INNER JOIN shop_category as sc1 ON (shop_products.category_id=sc1.id)
INNER JOIN shop_category as sc2 ON (sc1.parent_id=sc2.id)
WHERE sc2.active=1
UPD:這是sqlfiddle
我希望什么也不會得到。 因為頂級類別“ Cat1”具有活動的false
使用以下查詢:
SELECT s.* FROM shop_products as s WHERE EXISTS (
SELECT id FROM shop_category as sc WHERE sc.id = s.category_id AND EXISTS(
SELECT id FROM shop_category as sc1 WHERE sc.id = sc1.id AND sc1.active = 1
)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.