Проблема с оракулом SQL-запрос - PullRequest
0 голосов
/ 03 февраля 2011

Я пытаюсь сделать запрос

"Как называются производители, имеющие как минимум 2 свойства с областями с менее чем 10"

Iсделал следующий запрос, который, кажется, работает:

select Producers.name
from Producers
where (
  select count(Properties.prop_id)
  from Properties
  where Properties.area < 10 and Properties.owner = Properties.nif
) >= 2;

пока мой лектор был не очень доволен этим.Он даже подумал (по крайней мере, у меня сложилось впечатление), что такого рода запросы не будут действительны в оракуле.

Как тогда сделать этот запрос?(Между прочим, у меня сейчас нет возможности поговорить с ним).

Вот таблицы:

Производитель (nif (pk), name, ...)

Имущество (площадь, владелец (от производителя), площадь, ...)

Ответы [ 2 ]

3 голосов
/ 03 февраля 2011

с предложением обычно используется для фильтрации совокупных данных (таких как счетчики, суммы, макс и т. Д.).

select
  producers.name,
  count(*)
from
  producers,
  property
where
  producers.nif = property.owner and
  property.area < 10
group by
  producers.name
having
  count(*) >= 2
1 голос
/ 03 февраля 2011
select P.name
from Producers p, Properties pr
where p.nif = pr.Owner
AND Properties.area < 10 
GROUP BY Producers.name
having Count(*) >= 2 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...