Заполнение нового изображения с прозрачным цветом также требуется (как кодированный Dycey, но я предполагаю, забыл упоминать:)), не только 'стратегическое' сохранение отдельно.
IIRC, также необходимо быть уверены, что PNGs составляют 24 бита, т.е. истинный цвет, и не 8 битов для предотвращения ошибочного поведения.
Вы не можете достичь этого, используя один запрос. Ваша иерархическая модель данных в этом случае неэффективна. Я предлагаю вам попробовать два других способа хранения иерархических данных в базе данных: модель MPTT или модель "lineage". Использование любой из этих моделей позволяет вам сделать выбор за один раз.
Вот статья с более подробной информацией: http://articles.sitepoint.com/article/hierarchical-data-database