Добрый день.
Скажите пожалуйста, есть ли в Views 3 возможность создавать запросы с подзапросами ?
То есть, чтобы результат выполнения Views представлял собой SQL-запрос с подзапросами.
Причем, желательно наличие модулей, которые бы таким образом расширяли возможности Views.
Комментарии
Вьюс точно может делать такие запросы.
Я так предполагаю, что для этого при добавлении нового отношения в views должна быть возможность выбирать из списка результаты другого views (см. рис.)
А как это сделать ?
Views Field View
нечто подобное
либо свой handler писать
а вообще то что вы указали для примера по ссылке , к примеру запрос
FROM Orders
WHERE snum =
( SELECT snum
FROM Salespeople
WHERE sname = 'Motika');
это всего лишь контекстный фильтр
Просто есть задачи, которые хорошо решаются именно с помощью подзапросов.
Например, как-то мне нужно было вытащить несколько последних сообщений с базы форума smf, причем, чтобы эти сообщения были из разных тем (последнее сообщение из одной темы, последнее из другой темы и т.д.)
И получился довольно изящный код.
'FROM smf_messages, '.
'( SELECT max( id_msg ) AS max_id, id_topic '.
' FROM smf_messages '.
' GROUP BY id_topic ) AS a '.
'WHERE id_msg = a.max_id '.
'ORDER BY posterTime DESC LIMIT 0,'.$cntMainForum ;
Погляжу views_field_view, может быть, это и есть то, что надо ...
фильтрация и объединение таблиц - разные вещи
что вам конкретно нужно?приведите пример запроса , который должен построить вьюс
Конкретно не нужно ничего, я просто разбираюсь с views и в процессе построения запросов иногда возникают вопросы.