From: | Srinivas Iyyer <srini_iyyer_bio(at)yahoo(dot)com> |
---|---|
To: | Murat Tasan <murat(dot)tasan(at)cwru(dot)edu> |
Cc: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: SQL Query gone wrong.. please help |
Date: | 2006-02-09 17:50:31 |
Message-ID: | 20060209175031.60367.qmail@web34502.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Hi,
thank you for correcting me. I agree, I am very weak
in connecting tables, I did not digest the connecting
logic, although based on my progra. experience i am
able to write plpgsql functions etc not relating to
sql query part.
I am trying to learn from Bruce momjian's book.
I have one more question, hope that is not problem for
you to help me out again.
How do I put another conditional that gos.go_cat = 'F'
only.
In the corrected query, I am getting all gos.go_term
but I want only if gos.go_cat is 'F'.
My version:
select seq_name , go_term,go_cat from sequence, gos,
go_seq where
sequence.seq_name = 'EI24' AND
gos.go_cat = 'F'AND
sequence.seq_id = go_seq.seq_id AND
go_seq.gos_id = gos.go_id AND
gos.gos_id = gos.go_cat;
Thanks.
Sri
--- Murat Tasan <murat(dot)tasan(at)cwru(dot)edu> wrote:
>
> On 9 Feb 2006, at 12:08, Srinivas Iyyer wrote:
>
> > Dear group,
> >
> > I hav e three tables:
> >
> >
> > table: sequence
> > seq_id | seq_name | seq_refseq
> > 1 | EI24 | NM_004879.3
> > 2 | NDRG2 | NM_201540.1
> > 3 | RARRES2 | NM_002889.2
> >
> >
> >
> > table: gos
> > gos_id | go_id | go_term | go_class
> > 11041 | GO:0006807 | nitrogen compound metabolism
> |P
> > 11049 | GO:0004263 | chymotrypsin activity| F
> >
> > table : go_seq
> >
> >
> > gos_id | seq_id
> > 13819 | 11408
> > 13819 | 11950
> > 13819 | 12822
> > 13819 | 11350
> >
> >
> >
> >
> > I want to query go_seq table, giving seq_name =
> 'EI24'
> >
> >
> > select seq_name, go_term
> > from sequence, gos, go_seq
> >
> >
> > where go_seq.seq_id = go_seq.gos_id and
> > sequence.seq_id = sequence.seq_name and
> > sequence_seq_name = 'EI24';
> >
>
> you are not joining over the relationship table
> (go_seq) correctly.
> you want:
>
> WHERE
> sequence.seq_name = 'EI24' AND
> sequence.seq_id = go_seq.seq_id AND
> go_seq.gos_id = gos.gos_id;
>
> what you previously had was wrong in two locations:
> "sequence.seq_id = sequence.seq_name" (i assume no
> sequence ID will
> ever be quite like it's name) and
> "go_seq.seq_id = go_seq.gos_id" (i assume no GO id
> will have the same
> ID as a sequence).
>
>
> >
> > I am wrong here, unable to get it correctly.
> Could
> > you please help here.
> >
>
> unfortunately (by the looks of your query), your
> understanding of SQL
> is fundamentally flawed, which will lead to future
> confusion and
> trouble. i'd recommend picking up a decent book on
> SQL, or checking
> out some online tutorials.
>
>
> > thanks
> > srini
>
>
> hope that helped a bit!
>
> murat
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Murat Tasan | 2006-02-09 19:00:04 | Re: SQL Query gone wrong.. please help |
Previous Message | Lane Van Ingen | 2006-02-09 17:37:14 | How to Include Contributed Modules in Automated Install |