А чем первый запрос хуже
select * from doma
where kgrup in
(select D1.kgrup
from doma D1
group by D1.kgrup
having count(D1.kgrup)>1)
ведь сначало выполняется запрос
внутри where и потом всё отсальное по принципу декартового квадрата
кстати такой запрос тоже не срабатывает
select * from doma d2
where kgrup in
(select D1.kgrup
from doma D1
where D1.kgrup>20
group by D1.kgrup)
и такой тоже
select d2.* from doma d2
where d2.kgrup in
(select D1.kgrup
from doma D1
where D1.kgrup>d2.kgrup
group by D1.kgrup)
а по Груберу всё должно быть в порядке.
"Мадорский Г.В." <[EMAIL PROTECTED]>
сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]
вот тоже и самое вызывает
select * from doma
where kgrup in
(select D1.kgrup
from doma D1
group by D1.kgrup
having count(D1.kgrup)>1)
На FB 2 можно вот так написать:
select a.* from doma a
inner join
(select kgrup
from doma
group by kgrup
having count(kgrup)>1) b on a.kgrup = a.kgrup
Ну а в более ранних версиях видимо проще всего второй селект заменить на
view, с ней и join-ить.
With b/r. Gleb.