Mam drobbny problem z napisaniem optymalnego zapytania do wyciągania drzewa nested set.
Tabela zawiera (dla uproszczenia) pola (varchar)name, (enum: none, news, article, page)type oraz (text)link.
Obecnie aby wyciągnąć drzewo wykonuje takie zapytanie:
SELECT menu.*, news.seo_filename AS news_seo_filename, articles.seo_filename AS article_seo_filename, subpages.seo_filename AS subpage_seo_filename FROM menu LEFT OUTER JOIN news ON menu.link = news.id LEFT OUTER JOIN articles ON menu.link = articles.id LEFT OUTER JOIN subpages ON menu.link = subpages.id ORDER BY lft
Działa, ale jest to bardzo nieoptymalne

Do tego fajnie aby zawsze seo_filename lądowało w to samo pole - w obecnej chwili muszę PHPem sobie wybrać.
Czy ktoś ma pomysł jak takowe zapytanie rozpisać? Próbowałem używać IF() ale niestety nic mi z tego nie wyszło.