Выборка текстов не имеющих определенного тага.

phprus

Moderator
Команда форума
Выборка текстов не имеющих определенного тага.

Есть 2 таблицы:
text:
id - integer
group_id - integer
и таблица tag_to_text:
text_id
tag_id
таблицы связаны как один ко многим.

Необходимо выбрать все тексты, которые принадлежат группам с определенными group_id и которые НЕ содержат тагов с определенным списком tag_id.

Примерный вид запроса:
Код:
SELECT distinct t.* FROM text as t
LEFT JOIN tag_to_text as t2t ON (t.id = t2t.text_id)
WHERE
t.group_id IN (...) /* а вот как написать второе условие я не знаю */
Посоветуйте пожалуйста как лучше написать такой запрос.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Запрос лучше написать через NOT EXISTS. Тяжёлое наследия мыскля --- LEFT JOIN --- предварительно выкинуть.

-~{}~ 14.08.08 14:40:

Ну и DISTINCT соответственно, он не понадобится.
 

phprus

Moderator
Команда форума
Sad Spirit
Запрос лучше написать через NOT EXISTS.
Напиши пожалуйста пример такого запроса, а то я в postgresql не давно и пока не представляю как воспользоваться NOT EXISTS.
 

phprus

Moderator
Команда форума
Sad Spirit
Спасибо за ссылку. Вроде-бы разобрался.
 
Сверху