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

MySQL Joins:výběr tabulky, ze které se chcete připojit, na základě dat zdrojové tabulky

Chcete více left join s, podmíněné typem. Myslím něco takového:

SELECT e.*,
       COALESCE(h.name, f.name, c.name, r.name) as name
FROM events e LEFT JOIN
     holidays h
     on h.id = e.reference_id AND
        e.topic_type = 'holiday' LEFT JOIN
     fundays f
     on f.id = e.reference_id AND
        e.topic_type = 'funday' LEFT JOIN
     cruises c
     on c.id = e.reference_id AND
        e.topic_type = 'cruise' LEFT JOIN
     recruitment r
     on f.id = e.reference_id AND
        e.topic_type = 'recruitment'    
WHERE e.event_id = 1 


  1. Spousta stavů Query End v MySQL, všechna připojení použitá během několika minut

  2. Chyba přihlášení k serveru SQL:přihlášení se nezdařilo pro uživatele 'NT AUTHORITY\SYSTEM'

  3. Správa hesel a zdrojů v Oracle pomocí profilu

  4. Jak mapovat PostgreSQL enum pomocí JPA a Hibernate