Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

tampilkan sub kategori menggunakan SQL

Gabung sendiri kembali ke tabel untuk menemukan induk sebenarnya dari anak.

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)

Ini akan mengembalikan kedua anak dari kategori "Komputer". Apakah itu yang Anda cari?

Tentu saja, Anda dapat membalikkan ini untuk menampilkan semua anak dari orang tua tertentu atau dari semua orang tua:

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

Atau, jika Anda hanya ingin anak-anak dari kategori "Komputer", ubah ParentCategoryId Anda menjadi 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. Meniru group_concat() dikombinasikan dengan GROUP BY

  2. DAY() Contoh di SQL Server (T-SQL)

  3. Hyperlink nilai dalam hasil kueri SQL Server di SSMS

  4. Akuntansi dan desain Database, menyimpan jumlah debit dan kredit

  5. Prosedur tersimpan dengan nama tabel sebagai parameter