Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Выборка нескольких значений по одному полю (Evgeniy) 20/06/2012 - 10:43:00
      Re: Неужели трудно сперва подумать... (Akina) 20/06/2012 - 11:49:40
      Re: Выборка нескольких значений по одному полю (Evgeniy) 20/06/2012 - 11:51:13
      Re: Выборка нескольких значений по одному полю (Evgeniy) 20/06/2012 - 21:46:11
      Re: Выборка нескольких значений по одному полю (Akina) 20/06/2012 - 22:15:14
      Re: Поправка (Akina) 20/06/2012 - 22:16:17
      Re: Поправка (Evgeniy) 20/06/2012 - 23:35:11

> Original message text:
> From: Evgeniy - 20/06/2012 - 10:43:00
> Subject:Выборка нескольких значений по одному полю
> -----------------
> Доброго времени суток!
> Существует таблица
> | id | cid | uid |
>
> Столкунлся с проблемой выборки типа WHERE cid=1 AND cid=2, т.е. вывод только тех полей, где есть и 1 И 2, а там где 1 ИЛИ 2 - не учитывать.
> FIND_IN_SET не подходит по причине структуры БД.
>
> Заранее благодарен за любую наводку или помощь.
>


From: Akina - 20/06/2012 - 22:15:14
Subject:Выборка нескольких значений по одному полю
-----------------
Попробую тогда переформулировать я.

Необходимо выбрать такие группы записей, что для каждой группы с совпадающим значением поля uid встречаются все значения поля cid из заданного набора.

Если такая формулировка верна - остаётся два вопроса:

1) список значений поля cid является исчерпывающим и исключающим? или наличие в группе записей с тем же uid, но не входящими в заданный список cid не влияет на выдачу той части записей этой группы, у которых cid входит в список?

2) Возможно ли дублирование пары значений cid - uid в нескольких записях?

Если на оба вопроса ответ - нет, то запрос может быть таким:

select t1.*
from datatable t1
join
(
select t2.uid
from datatable t2
where t2.cid=1 or t2.cid=2
group by t2.uid
having count(t2.cid) = 2
) q1
on t1.uid = q1.uid
where q1.cid=1 or q1.cid=2;

Внести изменения в запрос, если ответы на доп. вопросы иные - имхо несложно.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
41422



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |