Thread: select ... from (select .. from where.. ) where ... ?

select ... from (select .. from where.. ) where ... ?

From
MESZAROS Attila
Date:
Hi,

I'am faced with a huge system using the above kind of queries.
It was originally written and tested with adabas.

Unfortunatelly 6.4 does support subqueries only in the 'where' expression,
as far as I undersood...

My questions are:How can I port this program with the least effort?Shall I create views corresponding to the
subqueries,anddoing the outer select on a view?
 
Is is planned to implement this feature in the near future?

Thanx
Attila



Re: [SQL] select ... from (select .. from where.. ) where ... ?

From
Clark Evans
Date:
MESZAROS Attila wrote:
> I'am faced with a huge system using the above kind of queries.
> It was originally written and tested with adabas.

I wrote a hudge system using those kind of queries.  Very
useful buggers, really helps you manage complexity.  I bet
it plays hudge games with the optimizer though...
> Unfortunatelly 6.4 does support subqueries only in the 'where' expression,
> as far as I undersood...

That's my understanding.  6.5 will not support it either.

> My questions are:
>         How can I port this program with the least effort?
>         Shall I create views corresponding to the subqueries,
>         and doing the outer select on a view?

You can do this, as long as the inner select does not
have an aggregate.  If it has an aggregate _or_ uses an
outer join then you need to code up functions that
do the outer-join.

>         Is is planned to implement this feature in the near future?

I hope so.  Actually, I think this is a generalization of the HAVING 
clause.  About 2 years ago (using Oracle) I dropped using the HAVING
clause due to this form... so, there is another possibility,
see if you can re-write these queries to use HAVING.

Let me know if I can help more.

Clark