Dołącz z powrotem do stołu, aby znaleźć faktycznego rodzica dziecka.
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)
Spowoduje to zwrócenie obu dzieci z kategorii „Komputery”. Czy tego właśnie szukasz?
Oczywiście możesz to odwrócić, aby wyświetlić wszystkie dzieci określonego rodzica lub wszystkich rodziców:
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
Lub, jeśli chcesz tylko dzieci z kategorii „Komputery”, zmień identyfikator ParentCategoryId na 10
SELECT CategoryID, ParentCategoryID, Name, Published, Deleted, PictureID
FROM Nop_Category
WHERE (Deleted = 0)
AND (Published = 1)
AND (ParentCategoryID = 10)