Re: Howto embed select statements into other select statements
- From: Ed Prochak <edprochak@xxxxxxxxx>
- Date: 7 May 2007 05:48:38 -0700
On May 7, 6:40 am, Niels Dybdahl <niels.dybd...@xxxxxxxxx> wrote:
Hi,
I want to calculate the fraction of two counts and I have created the
following select statement:
select
field1,
field2,
(select table1.co/table2.co
from (select count(1) co, id from t_table1 where seal>=1000 group
by id) table1,
(select count(1) co, id from t_table2 group by id) table2
where table1.id=j.id and table2.id=j.id),
field3
from t_table3 j
This works as long as there are corresponding entries in t_table1 and
t_table2, otherwise the fraction becomes null, which might make sense
when there is nothing in t_table2 but not when t_table1 has no
matching entries.
Instead I have tried:
select
field1,
field2,
(select table1.co/table2.co
from (select count(1) co, id from t_table1 where seal>=1000 and
id=j.id) table1,
(select count(1) co, id from t_table2 where id=j.id) table2),
field3
from t_table3 j
But then the database (Oracle 10) complains that it can not find j.id.
How can I write this select correctly?
Best regards
Niels Dybdahl
Why make your statement so complicated?
Make an inline view. (basically move the subquery to the FROM clause.)
select
field1,
field2,
ratio,
field3
from t_table3 j,
(select table1.co/table2.co ratio
from (select count(1) co, id from t_table1 where seal>=1000 group
by id) table1,
(select count(1) co, id from t_table2 group by id) table2
where table1.id=table2.id) ratioview
where ratioview.id=j.id ;
For dealing with the NULL conditions, consider the NVL() function and
possibly an outer join between table1 and table2.
HTH,
Ed
PS ( for ORACLE specific questions like this, you should consider
posting to one of the oracle newsgroups. For SQL questions like this,
use comp.databases.oracle.server)
.
- Follow-Ups:
- Re: Howto embed select statements into other select statements
- From: Niels Dybdahl
- Re: Howto embed select statements into other select statements
- References:
- Howto embed select statements into other select statements
- From: Niels Dybdahl
- Howto embed select statements into other select statements
- Prev by Date: Re: Schema for Full Text DB Using Stemmer
- Next by Date: Re: Schema for Full Text DB Using Stemmer
- Previous by thread: Howto embed select statements into other select statements
- Next by thread: Re: Howto embed select statements into other select statements
- Index(es):
Relevant Pages
|