![]() |
|
|
| Subject:
SQL Query Help Needed - Easy For an Expert
Category: Computers > Programming Asked by: toddtwods-ga List Price: $5.00 |
Posted:
28 Apr 2006 12:31 PDT
Expires: 28 May 2006 12:31 PDT Question ID: 723767 |
Query One:
SELECT field_one, field_two,field_three
FROM table_owner.table_one WHERE
field_four = (SELECT field_four
FROM table_owner.table_two WHERE field_five = 'B11') AND field_six = 1
AND field_seven = 1;
the above query yields me 54 results, one of which is shown below:
field_one field_two field_three
1 72 166
When I use the following query (Query Two) with those results:
SELECT field_eight
FROM table_owner.table_three WHERE
field_four = (SELECT field_four
FROM table_owner.table_two WHERE field_five = 'B11') AND field_one = 1
AND field_two = 72 AND field_three = 166;
I get the desired information -- the field_eight value.
How can I combine the first and second query into one big query so I
don't have to write 54 versions of the second query?
Thanks. |
|
| There is no answer at this time. |
|
| Subject:
Re: SQL Query Help Needed - Easy For an Expert
From: frankcorrao-ga on 28 Apr 2006 13:28 PDT |
I've not thought about this carefully, but it seems like you might
want to just you WHERE field_one IN (subquery) instead of WHERE
field_one = <value>. e.g.
SELECT field_eight
FROM table_owner.table_three
WHERE field_four =
(SELECT field_four
FROM table_owner.table_two WHERE field_five = 'B11')
AND field_one IN
(SELECT field_one
FROM table_owner.table_one
WHERE field_four =
(SELECT field_four
FROM table_owner.table_two
WHERE field_five = 'B11')
AND field_six = 1
AND field_seven = 1)
etc. Can't test this now, but i think this strategy will work, if you
expand it to have subqueries for the other two fields. I'm sure there
is a more efficient way. |
| Subject:
Re: SQL Query Help Needed - Easy For an Expert
From: sukarvin-ga on 29 Apr 2006 07:00 PDT |
I guess you need to join the three tables to write a efficient querry. SELECT field_eight FROM table_owner.table_one,table_owner.table_two,table_owner.table_three WHERE table_owner.table_one.field_four = table_owner.table_two.field_four AND table_owner.table_two.field_four = table_owner.table_three.field_four AND table_owner.table_two.field_five = 'B11' AND table_owner.table_three.field_one =table_owner.table_one.field_one AND table_owner.table_three.field_two =table_owner.table_one.field_two AND table_owner.table_three.field_three =table_owner.table_one.field_three Please try this query and please let me know the result. Think it is helpfull to u. :) |
| Subject:
Re: SQL Query Help Needed - Easy For an Expert
From: oraclelagoon-ga on 12 May 2006 02:15 PDT |
I believe this should help... SELECT field_eight FROM table_owner.table_three WHERE field_one,field_two,field_three in (SELECT field_one, field_two,field_three FROM table_owner.table_one WHERE field_four = (SELECT field_four FROM table_owner.table_two WHERE field_five = 'B11') AND field_six = 1 AND field_seven = 1) let me know if it works. ;o) |
| Subject:
Re: SQL Query Help Needed - Easy For an Expert
From: dbest-ga on 18 May 2006 14:41 PDT |
are fields one, two, three unique in the list of 54 if so get rid of this "AND field_one = 1 AND field_two = 72 AND field_three = 166" out of 2nd query and create a relational join on fields_two, three and one. |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
| Search Google Answers for |
| Google Home - Answers FAQ - Terms of Service - Privacy Policy |