Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobierz hierarchię rodzic-dziecko z samoodnoszącej się tabeli mysql

MySQL nie obsługuje zapytań rekurencyjnych, więc jeśli dziecko może mieć dzieci, nie ma możliwości sformułowania takiego zapytania. W przeciwnym razie to zapytanie powinno zwrócić wiersze w wymaganej kolejności:

SELECT * FROM tablename
ORDER BY
  CASE WHEN parent_id=0 THEN id ELSE parent_id END,
  id

Zobacz skrzypce tutaj . Sztuką jest uporządkowanie wierszy według id jeśli jest rodzicem lub przez parent_id jeśli jest dzieckiem, a następnie przez id .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj jedną tabelę MySQL o wartości z innej

  2. Monitorowanie i zarządzanie operacjami MySQL 8.0 z ClusterControl

  3. Aktualizacja zastąpienia średnika w SQL otrzymuje błąd składni

  4. Zatrzymaj i przywróć, jeśli jedna z wielu przygotowanych instrukcji nie powiedzie się

  5. Prosty skrypt Ajax Jquery — w jaki sposób mogę uzyskać informacje dla każdego wiersza w tabeli?