Как реализовать внутрение объединения

aixrus

Новичок
Как реализовать внутрение объединения

Добрый день

Подскажите пожалуйста, как сформировать запрос к базе, для выборки одним оператором

Есть такая структура:

id
value

=============
1 | 555
2 | 555
1 | 111
2 | 222

необходимо выбрать записи для id (1,2), но только те, в которых есть оба (1..N) для одного значения

в этом примере, должно получиться: 555

Спасибо за советы
 

WP

^_^
zerkms
Да Вы норкоман!
aixrus
[sql]SELECT `id`, `value` FROM `test` GROUP BY `value`HAVING COUNT(*) > 1[/sql]
 

amadeus

Новичок
Если "пары" (id,value) в данном случае могут повторяться, например:
1 | 555
2 | 555
1 | 111
1 | 111
то в этом случае, приведенный запрос выдаст значения 555 и 111. А для 111 есть только id равный 1, т.е. оно тут не нужно.
Модифицировать запрос можно так:
SELECT `id` , `value`
FROM `test`
GROUP BY `value`
HAVING COUNT( * ) >1
AND MIN( `id` ) <> MAX( `id` )
LIMIT 0 , 30
Этот из примера выберет только 555.
 

KaYSer

Новичок
зачем дублировать записи? наверняка там PRIMARY KEY ( `id` , `value` )
 
Сверху