ВЫБРАТЬ printf ('% * s', СЛУЧАЙ, КОГДА NULLIF (sub-cat, '') НУЛЯЕТ ТОЛЬКО 4, КОГДА NULLIF (sub-sub, '') НУЛЯЕТ ТОЛЬКО 8, ИЛИ 12 КОНЕЦ, '') ||COALESCE (NULLIF (sub-sub, ''), NULLIF (sub-cat, ''), cat) КАК COlumn FROM indexable t ЗАКАЗАТЬ по первичному термину, СЛУЧАЙ, КОГДА NULLIF (sub-cat, '') НУЛ, ЧЕМ 4, КОГДА NULLIF(sub-sub, '') равен NULL THEN 8 ELSE 12 END, COALESCE (NULLIF (sub-sub, ''), NULLIF (sub-cat, ''), cat)