El 24 de octubre de 2011, alguien publicó una pregunta en DBA StackExchange sobre el cruce de árboles en MySQL . El SQL para MySQL no puede soportarlo.
Escribí tres (3) procedimientos almacenados (GetParentIDByID, GetAncestry y GetFamilyTree ) en mi respuesta a esa pregunta . Espero que esta información te ayude a construir lo que estás buscando.