Help with a where statement

I am creating an ASP Application and have the following SQL Statement:

select assetname, serialnumber,parentserialnumber,(case when parentserialnumber = '' then 'False' else 'True' end) as assigned
from assets
where parentserialnumber like @asset

So what I have is a drop down box that allows the user to select:

Both
Assigned
Un-Assigned

The problem I am having is how to structure my SQL so that I can take advantage of the 3 possible states. Both would simply be a '%' while Un-Assigned would be ''

But how would I go about getting the Assigned Values, as I am not sure  how I could tweak my SQL statement to allow this.

Cheers
<asp:DropDownList ID="ddlAssigned" runat="server" AppendDataBoundItems="True" 
                            AutoPostBack="true" Width="150px">
                            <asp:ListItem Value="-1">All</asp:ListItem>
                            <asp:ListItem Value="1">Assigned</asp:ListItem>
                            <asp:ListItem Value="2">Un-Assigned</asp:ListItem>
                        </asp:DropDownList>
 
 
//in the code behind   
 
 
 
 Protected Sub SqlDataSource1_Selecting(ByVal sender As Object, ByVal e As SqlDataSourceSelectingEventArgs)
 
       If ddlAssigned.SelectedValue.Equals("1") Then
            e.Command.Parameters("@assigned").Value = ""
        ElseIf ddlAssigned.SelectedValue.Equals("2") Then
            e.Command.Parameters("@assigned").Value = ""
        End If
    End Sub

Open in new window

directxBOBAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Rahul Goel ITILSenior Consultant - DeloitteCommented:
Your question is so confusing. Can you please give me some live example or make it so clear to me?
Thank you
0
directxBOBAuthor Commented:
I have this SQL Statement

select assetname, serialnumber,parentserialnumber,(case when parentserialnumber = '' then 'False' else 'True' end) as assigned
from assets
where parentserialnumber like @asset

the @asset is an SQLDatasource Parameter, where I am going to inject data into the statement to get the desired results.

I am looking to adapt the SQL statement so that I can get the desired results depending on the state I am selecting:

Both
Assigned
Un-Assigned

0
diazlunaCommented:
The trick is in the Values you are passing plus your like statement.

if dropdown = "Both" then
    Param1 = "Assigned"
    Param2 = "Un-Assigned"
else
    Param1 = dropdown.value
    Param2 = ""
end if
 
//And then your query:
select assetname, serialnumber,parentserialnumber,(case when parentserialnumber = '' then 'False' else 'True' end) as assigned
from assets
where parentserialnumber = @asset1
   or parentserialnumber = @asset2
 
//Finally assigne @asset1 and @asset2 your values from parameter1 and parameter2.

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Query Syntax

From novice to tech pro — start learning today.