Simple Query?

Поиск
Список
Период
Сортировка
От Koen Bok
Тема Simple Query?
Дата
Msg-id 2C0EA394-5AC8-4FC8-99F3-5FAEE9720360@madebysofa.com
обсуждение исходный текст
Ответы Re: Simple Query?  ("Rodrigo De León" <rdeleonp@gmail.com>)
Re: Simple Query?  (Richard Broersma Jr <rabroersma@yahoo.com>)
Re: Simple Query?  (Osvaldo Rosario Kussama <osvaldo_kussama@yahoo.com.br>)
Список pgsql-sql
I am doing some optimization on our search, but I need some advise...

table: item

id            name
--------------------------------------
1            iPod
2            Zune
3            Walkman

table: search_item

id_search    id_item
--------------------------------------
1            1
1            2
1            3
2            2
2            3
3            1
3            3


Now what I want to have is the items that match with id_search 1 and  
2 and 3. Therefore I use the following SQL query.

SELECT * FROM item WHERE id IN(SELECT id_item FROM search_item WHERE id_search=1 AND id_item IN    (SELECT id_item FROM
search_itemWHERE id_search=2 AND id_item IN        (SELECT id_item FROM search_item WHERE id_search=3)));
 

This should only return id_item 3. Would this be the best SQL query  
to get this result? I have the feeling there should be something  
better, but I cannot find it. Anyone has a hint?


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Josh Tolley"
Дата:
Сообщение: Re: Does postgresql8.2 supports multithreading?
Следующее
От: "Rodrigo De León"
Дата:
Сообщение: Re: Simple Query?