Мне любопытно, почему вы использовали Views для создания SQL, а затем не используете Views?
Когда дело доходит до более сложных вещей, таких как отношения многих или многих, GROUP BY, COUNT, SUM, подзапросы и т. Д., Что бы ни требовала функция, лучше всего написать это самостоятельно (особенно, если модули Contrib не имеют поддержки видов, и вам нужно больше, чем таблица узлов).
Для меня, когда представления не могут быть выполнены, я пишу простой модуль, который вызывает hook_menu (для регистрации путей) с обратным вызовом, который выполняет запросы, которые мне нужны.
В версии 2.8 модуля views введена функция 'views_get_view_result ($ name, $ display_id = NULL)' для этого. –