sql >> Databáze >  >> RDS >> Mysql

získání názvu rodiče podřízené kategorie jediným dotazem v mysql

Připojte se ke stolu sama se sebou , pomocí parent sloupec pro propojení s cat_id rodiče.

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
  • Buďte opatrní:protože některé prvky nemají rodiče (NULL ), vložil jsem LEFT OUTER JOIN takže se zobrazí i tyto řádky. Pokud to nechcete, použijte JOIN místo LEFT OUTER JOIN .
  • Můžete také zobrazit řádky, ale místo NULL zobrazte něco jiného (prázdné nebo textové nebo ...) pomocí COALESCE .
  • Výsledek můžete považovat za jednu (velkou) novou tabulku, takže můžete přidat klauzule WHERE jako obvykle, například filtrovat podle názvu rodiče:WHERE c2.cat_name = 'test2'


  1. Chybová zpráva sqldeveloper:Síťový adaptér nemohl navázat chybu připojení

  2. Nahrání souboru Java do MySQL

  3. Připojení Oracle k Amazon Aurora

  4. Jak funguje SCHEMA_NAME() na serveru SQL