URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7344
[ Назад ]

Исходное сообщение
"крутой Sql  запрос."

Отправлено pheonix , 29-Апр-08 18:51 
есть таблица с данными:
+++++++++++++++++++++
|id_zsearch|id_zword|
+++++++++++++++++++++
|       111|   87628|
|       111|   87629|
|       222|   87628|
|       113|   87628|
|       222|   87629|
|       111|   87629|
|       113|   87628|
+++++++++++++++++++++

смысл запорса следующий, выбрать id_zsearch, где одинаковые id_zsearch и одновременно при id_zword равных 87628 и 87629.

то есть после запроса должно быть выбрано следующее:
++++++++++++
|id_zsearch|
++++++++++++
|       111|
|       222|
++++++++++++

был придуман следующий запрос
SELECT id_zsearch FROM global.zindex WHERE (id_zword='87628' OR id_zword='87629') GROUP BY id_zsearch HAVING count(id_zsearch)=2;

он даже сработал, но, сгруппировал так же и id_zsearch равынй 113, и правильно сделал, но так не надо:
++++++++++++
|id_zsearch|
++++++++++++
|       111|
|       222|
|       113|
++++++++++++


вопрос как сделать так как чтобы получилась в результатах нарисованную выше вторую таблицу, чтобы равными были в группе id_zsearch и в ней содержались РАЗНЫЕ id_zword написанные в WHERE, одинаковые допустить нельзя, жду предложений.


Содержание

Сообщения в этом обсуждении
"крутой Sql  запрос."
Отправлено johnjoy , 30-Апр-08 01:29 
типа того

select id_zsearch from zindex where id_zword='87628'
intersect
select id_zsearch from zindex where id_zword='87629'


"крутой Sql  запрос."
Отправлено johnjoy , 30-Апр-08 01:30 
>типа того
>
>select id_zsearch from zindex where id_zword='87628'
>intersect
>select id_zsearch from zindex where id_zword='87629'

зы
запрос один (в одну строку)
intersect - ключевое слово
смотрите уточнения в доках вашей бд


"крутой Sql  запрос."
Отправлено pheonix , 30-Апр-08 08:20 
>>типа того
>>
>>select id_zsearch from zindex where id_zword='87628'
>>intersect
>>select id_zsearch from zindex where id_zword='87629'
>
>зы
>запрос один (в одну строку)
>intersect - ключевое слово
>смотрите уточнения в доках вашей бд

проверил вроде бы идёт, надо тестить, но на 10 разах отгадала то чно надо, спасибо большое) мучался сутки:)