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

Аватар пользователя roman-yrv

Добрый день.

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

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

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

Модули и темы:
Ключевые слова:
Тип материала:
Версия Drupal:
Форумы:
0 Thanks

Комментарии

Аватар пользователя Chyvakoff
Chyvakoff 4 года назад

Вьюс точно может делать такие запросы.

Аватар пользователя roman-yrv
roman-yrv 2 года назад

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

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

Аватар пользователя drupby
drupby 4 года назад

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

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

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

Аватар пользователя roman-yrv
roman-yrv 4 года назад

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

Например, как-то мне нужно было вытащить несколько последних сообщений с базы форума 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 4 года назад
roman-yrv написал:
при добавлении нового отношения в views должна быть возможность выбирать из списка результаты другого views

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

Аватар пользователя roman-yrv
roman-yrv 4 года назад

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