c# - Search stored procedure does not work as expected -
i have written cte returns columns
;with cteresult ( select distinct i.customer, i.office, i.column1 + ' ' + i.column2 address, i.postcode zipcode mytable (nolock) ) i filtering columns returned based on condition given below:
select customer, office, address, zipcode cteresult cr (nolock) (@pstrcustid null or (cr.customer = @pstrcustid)) , (@pstraddress null or (cr.address = @pstraddress)) , (@pstrpostcode null or (cr.zipcode = @pstrpostcode)) when test replacing @pstrcustid='1234' in above select query returns result include custids other '1234' when comment "@pstrcustid null or" part returns correct result'i.e, results custid='1234'.
i have written similar stored proc earlier worked fine. however, particular sp not.
any suggestions.
check variables null when don't have filter value , change clause:
where cr.customer = isnull(@pstrcustid, cr.customer) , cr.address = isnull(@pstraddress, cr.address) , cr.zipcode = isnull(@pstrpostcode, cr.zipcode)
Comments
Post a Comment