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

Hirarki Database Pilih / Sisipkan Pernyataan (SQL Server)

Jika Anda menggunakan SQL Server 2005 atau lebih tinggi, Anda dapat menggunakan kueri rekursif untuk mendapatkan informasi Anda. Ini contohnya:

With tree (id, Name, ParentID, [level])
As (
    Select id, Name, ParentID, 1
    From [myTable]
    Where ParentID = 0

    Union All

    Select child.id
          ,child.Name
          ,child.ParentID
          ,parent.[level] + 1 As [level]
    From [myTable] As [child]
    Inner Join [tree] As [parent]
    On [child].ParentID = [parent].id)
Select * From [tree];

Kueri ini akan mengembalikan baris yang diminta oleh bagian pertama (Di mana ParentID =0) dan semua sub-baris secara rekursif. Apakah ini membantu Anda?

Saya tidak yakin saya mengerti apa yang Anda inginkan terjadi dengan sisipan Anda. Bisakah Anda memberikan lebih banyak informasi tentang hasil yang diharapkan setelah Anda selesai?

Semoga berhasil!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat tabel sementara dari suatu tipe?

  2. SQL Server 2008:Memesan berdasarkan datetime terlalu lambat

  3. Gunakan OBJECT_NAME() untuk Mendapatkan Nama Objek dari object_id-nya di SQL Server

  4. MASUKKAN MASSAL ke SQL Server - menggunakan FIELDTERMINATOR

  5. DataBinding:'System.Data.DataRowView' tidak berisi properti dengan nama