Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

wyświetl podkategorie za pomocą SQL

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)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktualizowanie dostawcy danych Crystal Reports

  2. Jak znaleźć optymalny unikalny identyfikator w tabeli w SQL Server:sp_special_columns

  3. Użyj SERVERPROPERTY(), aby uzyskać informacje o serwerze w SQL Server

  4. Jak wykonać procedurę składowaną w programie C#?

  5. Jak utworzyć indeks nieklastrowy w Create Table?