Lakhae
Lakhae

Reputation: 1899

How to query conditional where clause in Sql Server?

I am trying to get all the Items if parameter @ItemId = 0 else item = @ItemId one item

Here is what I've done

 ... AND (CASE WHEN @ItemId = 0 THEN Items.ItemID > 0 else
      Items.ItemID = @ItemId end )

Sql server gives an error in this query.

Upvotes: 0

Views: 36

Answers (1)

user565869
user565869

Reputation:

To achieve the logic you described:

...
AND (@ItemId = 0 OR Items.ItemID = @ItemID)

Note that your query implies something else, which you could achieve like this:

...
AND ((@ItemId = 0 AND Items.ItemID > 0) OR (Items.ItemID = @ItemID)

Upvotes: 1

Related Questions