Código MySQL:
Ver original T1.NTM
, IF( T1.CTM
=0, T1.IDT
, T1.CTM
) orden
tutabla T1
tutabla T2
T1.IDT = T2.CTM
T1.IDT
orden, T1.CTM
Pero también tengo que hacerte una pregunta. ¿Por qué dejar una estructura jerárquica para una base que no parece que vaya a serlo? Una tabla categorías y una tabla subcategorías que dependen de las categorías, y un campo FKsubcat (o una tabla nueva subcatproducto) y tendrás lo mismo. Las consultas serán más fáciles, pero, claro, eso solo en el caso de que haya un único nivel y que cada categoría tenga al menos una categoría y todos los productos o lo que sean se relacionen con subcategoría. Ordenar sería más fácil, haciéndolo primero por cat y luego por subcat.