Node: Distinct не работает

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

Аватар пользователя olegnaumov@drupal.org olegnaumov@drup... 12 апреля 2009 в 13:48

В модуле Views почему-то не работает фильтр Node:Distinct.

Что пытаюсь сделать: вывести список терминов.
Что получается: много дубликатов; то есть, если термин присвоен к 10 нодам — views выводит 10 терминов.
Что пробовал: пересоздать ноду, почистить кеш.

Очень странно, ведь должно работать?

Комментарии

Аватар пользователя psyh psyh 7 ноября 2009 в 11:01

Аналогичная проблема.
Хотелось бы еще знать каким образом определяется оригинальность выводимого материала? По фильтрам, значению выводимых полей (терминов)?

Аватар пользователя seaji seaji 7 ноября 2009 в 11:59

В синтаксисе запросов SQL Distinct исключает из результата одинаковые ряды.
Я уже сталкивался с этим.
Допустим у вас нода привязана к двум терминам: term1 и term2
запрос на получение ID ноды + ID термина в одном ряду выдаст эту ноду два раза, не смотря на использование DISTINCT т.к. эти два ряда будут разными:
nodeID | termID_1
nodeID | termID_2
Тут мне видится два выхода.
Либо исключить из запроса те данные, которые могут быть разными для одной ноды.
Либо делать группировку по nid (GROUP BY nid) - однако в этом случае пропадает смысл ID термина, т.к. эти данные будут не полные.
Вообще, первый вариант лучше.

Аватар пользователя seaji seaji 7 ноября 2009 в 12:01

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