Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql General > Re: question ab...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 4 Topic 15431 of 17602
Post > Topic >>

Re: question about join

by osvaldo.kussama@[EMAIL PROTECTED] ("Osvaldo Kussama") May 1, 2008 at 05:29 PM

2008/5/1 Ottavio Campana <ottavio@[EMAIL PROTECTED]
>:
> Osvaldo Kussama ha scritto:
>
>
> >
> > >  To further explain, the following query selects both the rows from
the
> join
> > > where id_ref_first_tab has the desired value and default_value =
true,
> while
> > > I want to select the row corresponding to default_value = true only
in
> case
> > > no row corresponding to id_ref_first_tab exists.
> > >
> > >  select * from second_table join third_table on second_table.id =
> > > third_table.id_ref_second_tab where id_ref_first_tab = 1 or
> default_value =
> > > true;
> > >
> > >  I hope I've been clear enough...
> > >
> >
> > Try:
> > select * from second_table join third_table on second_table.id =
> > third_table.id_ref_second_tab
> > where id_ref_first_tab = 1 or (id_ref_first_tab <> 1 and default_value
=
> true);
> >
>
>  it's not what I want, because it can return two rows, while I want only
one
> row back, checking the first condition and optionally the second one
only if
> the first one is not matched.
>
>  I don't know if it is possible, but if it could, it would be great.
>
>  --
>  Non c'e' piu' forza nella normalita', c'e' solo monotonia.
>
>

SELECT * FROM second_table JOIN third_table ON second_table.id =
third_table.id_ref_second_tab
WHERE id_ref_first_tab = 1
UNION
SELECT * FROM second_table JOIN third_table ON second_table.id =
third_table.id_ref_second_tab
WHERE default_value = true AND
      NOT EXISTS(SELECT * FROM second_table JOIN third_table
                                         ON second_table.id =
third_table.id_ref_second_tab
                          WHERE id_ref_first_tab = 1);

Osvaldo

-- 
Sent via pgsql-general mailing list (pgsql-general@[EMAIL PROTECTED]
)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
 




 4 Posts in Topic:
question about join
ottavio@[EMAIL PROTECTED]  2008-05-01 10:29:56 
Re: question about join
osvaldo.kussama@[EMAIL PR  2008-05-01 12:17:58 
Re: question about join
ottavio@[EMAIL PROTECTED]  2008-05-01 19:54:44 
Re: question about join
osvaldo.kussama@[EMAIL PR  2008-05-01 17:29:57 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Mon Dec 1 19:45:33 CST 2008.