Запрос с несколькими СУЩЕСТВОВАНИЯМИ

У меня есть база данных комнат и оборудования. Я хочу запросить базу данных и вернуть список комнат, например, с телевизором, радио, спутниковой антенной и холодильником (eq1, eq2, eq3, ...., eqN).

У меня есть следующий оператор SELECT:

select * from rooms r where 
exists (select id from equipments where eq_id='eq1' and room_id=r.id)
and
exists (select id from equipments where eq_id='eq2' and room_id=r.id)
and
exists (select id from equipments where eq_id='eq3' and room_id=r.id)
.......
and
exists (select id from equipments where eq_id='eqN' and room_id=r.id)

Есть ли способ оптимизировать или сократить его?

5
задан jachim 19 January 2011 в 10:10
поделиться