Tự tham gia trở lại bảng để tìm cha mẹ thực sự của đứa trẻ.
SELECT c1.CategoryID, c2.ParentCategoryID, c1.Name, c2.Name as ParentName, c1.Published, c1.Deleted, c1.PictureID
FROM Nop_Category c1
JOIN Nop_Category c2 on c1.ParentCategoryId = c2.CategoryId
WHERE (c1.Deleted = 0)
AND (c1.Published = 1)
AND (c1.ParentCategoryID = 10)
Điều này sẽ trả về cả hai con của danh mục "Máy tính". Đó có phải là những gì bạn đang tìm kiếm không?
Tất nhiên, bạn có thể xoay chuyển điều này để hiển thị tất cả con cái của một phụ huynh cụ thể hoặc từ tất cả các phụ huynh:
SELECT c.*, p.* -- shortened, but you should pick specific columns
FROM Nop_Category p -- parent
JOIN Nop_Category c ON c.ParentCategoryId = p.CategoryId -- children
WHERE p.ParentCategoryId = 0 -- all top level parents
SELECT c.*, p.* -- shortened, but you should pick specific columns
FROM Nop_Category p -- parent
JOIN Nop_Category c ON c.ParentCategoryId = p.CategoryId -- children
WHERE p.CategoryId = 10 -- only the "Computers" category
Hoặc, nếu bạn chỉ muốn con của danh mục "Máy tính", hãy thay đổi ParentCategoryId của bạn thành 10
SELECT CategoryID, ParentCategoryID, Name, Published, Deleted, PictureID
FROM Nop_Category
WHERE (Deleted = 0)
AND (Published = 1)
AND (ParentCategoryID = 10)