I’d like to assign some variables inside a query that uses CASE statements for it’s columns. Not quite sure how to do this, having trouble finding the right syntax.
This is what I have so far, but it’s got syntax errors.
-- set @theID and @theName with their appropriate values
select top (1)
@theID = (Case when B.ID IS NULL then A.ID else B.ID END) ,
@theName = (Case when B.Name IS NULL then A.Name else B.Name END)
from B left join A on A.ID = B.ID where ...
What’s the correct place/way to stick those variables in there?
The example you’ve given should work. You can assign to variables from a case statement. Just pretend that the entire CASE..WHEN..THEN..ELSE..END block is a field. Here is a generic example:
Gives:
Can you tell us what specific error(s) you are getting?