Wednesday, March 31, 2010

Use of case for null values

If you have left outer join then there will be filter problem in where class. left outer join return all values when apply filter on it. so use case when using left outer join between two tables:
For example

select member.intmemberId
FROM member (nolock)
Left outer JOIN v_member_address on member.intmemberId=v_member_address.intmemberId

WHERE IsNull(v_member_address.intstateid,0) =case when @pintstateid=0 then IsNull(v_member_address.intstateid,0) else @pintstateid end

this help do efficient filtering of data. it will return specific data on applying filter

thanks