Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa mendapatkan id leluhur untuk kedalaman rekursi sewenang-wenang dalam satu kueri SQL?

SELECT c.id, b.id, a.id 
FROM T 
INNER JOIN T AS c on T.parent_id=c.id 
INNER JOIN T AS b ON c.parent_id = b.id 
INNER JOIN T as a ON b.parent_id = a.id

dengan asumsi tabel Anda bernama T. belum teruji. tidak yakin apa yang terjadi jika d tidak memiliki tiga orang tua, mungkin Anda tidak mendapatkan apa-apa, mungkin mencoba LEFT JOIN untuk kasus-kasus tersebut untuk mendapatkan nilai NULL untuk orang tua yang hebat. Juga, JOIN terakhir tidak terlalu diperlukan karena Anda cukup memilih b.parent_id alih-alih a.id tetapi, Anda tahu, hanya untuk mengarahkan pulang polanya;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Array dari beberapa formulir unggah, Unggah gambar lalu masukkan ke database (PHP, MySQL)

  2. Garis waktu bagan Google dengan tanggal dalam sumbu x

  3. Bagaimana cara terhubung ke host lokal menggunakan JDBC?

  4. cara mendapatkan jumlah kolom dengan kueri codeigniter

  5. java.lang.AbstractMethodError:com.mysql.jdbc.Connection.isValid(I)Z