Wyszukiwanie w MySQL i wyświetlanie produktów na podstawie "drzewa" kategorii

Witam,

CREATE TABLE IF NOT EXISTS `multikategorie` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `parent_id` bigint(20) unsigned NOT NULL,
  `position` bigint(20) unsigned NOT NULL,
  `left` bigint(20) unsigned NOT NULL,
  `right` bigint(20) unsigned NOT NULL,
  `level` bigint(20) unsigned NOT NULL,
  `title` text COLLATE utf8_unicode_ci,
  `type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

Chce zrobić:

Czyli jeśli mamy np takie kategorie:

Ogólnie temat jest dość trudny i wymaga użycia dodatkowych procedur. Wiele silników baz danych ma odpowiednie funkcje - jest to opisane na wiki: https://en.wikipedia.org/wiki/Hierarchical_and_recursive_queries_in_SQL 

Niestety w MySQL nie ma takich gotowych mechanizmów (albo tylko ja ich nie znam) ale nie oznacza, że problemu nie da się rozwiązać - zobacz http://stackoverflow.com/questions/20215744/how-to-create-a-mysql-hierarchical-recursive-query