Вложенные подзапросы и Views

Главные вкладки

Аватар пользователя roman-yrv roman-yrv 18 марта 2013 в 16:44

Добрый день.

Скажите пожалуйста, есть ли в Views 3 возможность создавать запросы с подзапросами ?

То есть, чтобы результат выполнения Views представлял собой SQL-запрос с подзапросами.

Причем, желательно наличие модулей, которые бы таким образом расширяли возможности Views.

Комментарии

Аватар пользователя roman-yrv roman-yrv 10 ноября 2015 в 11:49

Я так предполагаю, что для этого при добавлении нового отношения в views должна быть возможность выбирать из списка результаты другого views (см. рис.)

А как это сделать ?

Аватар пользователя drupby drupby 18 марта 2013 в 18:11

Views Field View
нечто подобное
либо свой handler писать
а вообще то что вы указали для примера по ссылке , к примеру запрос

SELECT *
       FROM Orders
       WHERE snum =
           ( SELECT snum
                FROM Salespeople
                WHERE sname = 'Motika');

это всего лишь контекстный фильтр

Аватар пользователя roman-yrv roman-yrv 18 марта 2013 в 18:34

Просто есть задачи, которые хорошо решаются именно с помощью подзапросов.

Например, как-то мне нужно было вытащить несколько последних сообщений с базы форума smf, причем, чтобы эти сообщения были из разных тем (последнее сообщение из одной темы, последнее из другой темы и т.д.)

И получился довольно изящный код.

$strSQL='SELECT id_msg, smf_messages.id_topic, posterTime, id_member, subject, posterName '.
                '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, может быть, это и есть то, что надо ...

Аватар пользователя drupby drupby 18 марта 2013 в 18:40

"roman-yrv" wrote:
при добавлении нового отношения в views должна быть возможность выбирать из списка результаты другого views

фильтрация и объединение таблиц - разные вещи
что вам конкретно нужно?приведите пример запроса , который должен построить вьюс

Аватар пользователя roman-yrv roman-yrv 18 марта 2013 в 18:52

Конкретно не нужно ничего, я просто разбираюсь с views и в процессе построения запросов иногда возникают вопросы.