Connecting Tech Pros Worldwide Help | Site Map

Query with different WHERE clauses

 
LinkBack Thread Tools Search this Thread
  #1  
Old August 20th, 2008, 07:15 AM
Cralis
Guest
 
Posts: n/a
Default Query with different WHERE clauses

Hi guys.

I have a database of R/C Helicopters.

The user wants to filte down on a specific helicopter configuration.
So the GUI has a screen with 5 dropdownlists.

ESC (Electric Speed Controller), Motor, Gyro, Engine and Servo.

Lets say the user wants to find all helicopters using a Z80 motor. So,
he selects that from a drop down, and the rest remain as 'Select
one..'.

So I pass paramteres to my stored procedure....

sp_find_aircraft esc=0, motor=67, gyro=0, engine=0, servo=0
(67 being the ID of the component he wants to look up.. in this case,
the Z80 engine).

How do I create the where clause for this? My select looks like this:

SELECT ua.id, c.[Model]
FROM dbo.[UserAircraft] ua
LEFT JOIN dbo.[UserAircraftComponent] uac1 ON uac1.useraircraftid =
ua.id
INNER JOIN dbo.[Component] c ON c.id = uac1.componentid

I have no where clause yet, as I'm not sure how to handle dffering
selections.

In the above example, my where clause would simply be:

WHERE c.id = 67

And that would return me a correct recordset of all UserAircraft
having a Z80 engine.

But now the user wants a result with the Z80, as well as maybe a GY401
gyro... so now I pass:
sp_find_aircraft esc=0, motor=67, gyro=145, engine=0, servo=0

I kinda need a dynamic where clause....
Is this possible?

A kind of:
IF @gyro 0
add 'OR Componentid=145

type of thing.

  #2  
Old August 20th, 2008, 07:35 AM
Erland Sommarskog
Guest
 
Posts: n/a
Default Re: Query with different WHERE clauses

Cralis (admin@myschoolmates.com) writes:
Quote:
Lets say the user wants to find all helicopters using a Z80 motor. So,
he selects that from a drop down, and the rest remain as 'Select
one..'.
>
So I pass paramteres to my stored procedure....
>
sp_find_aircraft esc=0, motor=67, gyro=0, engine=0, servo=0
(67 being the ID of the component he wants to look up.. in this case,
the Z80 engine).
>
How do I create the where clause for this? My select looks like this:
There are a couple of options, and I have an article (in two versions) on
my web site that discusses this in detail:
http://www.sommarskog.se/dyn-search.html.

By the way, do not use the sp_ prefix for your stored procedures. This
prefix is reserved for system procedures.


--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pro...ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinf...ons/books.mspx
  #3  
Old August 20th, 2008, 07:35 AM
Cralis
Guest
 
Posts: n/a
Default Re: Query with different WHERE clauses

Thanks Erland!
Agh! Forgot about the poor use of 'sp_'.
Foolish - will resolve, thanks.
 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,989 network members.