SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.08.2011 20:07:10

Astaha
Участник
Зарегистрирован: 05.08.2011
Сообщений: 2

Подскажите запрос фильтра

Есть 2 таблицы:
TABLE1 - id, name, ...
TABLE2 - tid, tag
, которые между собой связаны как tid=id.

Мне нужно выбрать строки из TABLE1, где нет определенного значения «tag». То есть, к примеру, вывести все записи, у которых нет тэга «yyy». Вывод записей, у которых присутствует определенный тэг - легко (LEFT JOIN TABLE2 on tid=id WHERE TABLE2.tag='yyy'), а вот наоборот сложно sad.

Пока никак не могу придумать решение... В одном проекте сие решил путем добавления в таблицу1 служебной колонки с перечислением всех тэгов (там правда тэговая система релизована куда сложнее - с алиасами, с хранением кол-ва). Здесь же, если опять делать то же самое — придется перелопатить много данных sad, чего делать не особо хочется.

Отредактированно Astaha (05.08.2011 20:07:56)

Неактивен

 

#2 05.08.2011 22:40:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Подскажите запрос фильтра

select * from table1 where id not in (select tid from table2 where tag='yyy');

Неактивен

 

#3 08.08.2011 09:51:52

Astaha
Участник
Зарегистрирован: 05.08.2011
Сообщений: 2

Re: Подскажите запрос фильтра

Спасибо. То, что надо.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson