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

pobranie nazwy rodzica kategorii podrzędnej za pomocą jednego zapytania w mysql

Dołącz do stołu ze sobą , używając parent kolumna do linku do cat_id rodzica.

SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
from category c1
LEFT OUTER JOIN category c2
ON c1.parent = c2.cat_id
  • Uważaj:ponieważ niektóre elementy nie mają rodziców (NULL ), umieściłem LEFT OUTER JOIN więc te wiersze są również wyświetlane. Jeśli tego nie chcesz, użyj JOIN zamiast LEFT OUTER JOIN .
  • Możesz również pokazać linie, ale wyświetlić coś innego (puste, tekst lub ...) zamiast NULL za pomocą COALESCE .
  • Możesz uznać wynik za jedną (dużą) nową tabelę, dzięki czemu możesz dodać klauzule WHERE, jak zwykle, na przykład filtrowanie według nazwy rodzica:WHERE c2.cat_name = 'test2'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw bieżącą datę w formacie datetime mySQL

  2. Problem ze znakami UTF-8; to, co widzę, nie jest tym, co zapisałem

  3. wybieranie wierszy z id z innej tabeli

  4. Nieprawidłowa wartość ciągu:'\xEF\xBF\xBD' dla kolumny

  5. Dopasuj znak '%' podczas wyszukiwania w bazie danych MySQL