I have a basic SQL query, starting with:
SELECT top 20 application_id, [name], location_id FROM apps
Now, I would like to finish it so that it
If @locid is a list eg "33, 234" etc, then no solution here will work. However, I guess these were posted before your update with this information.
I assume that because you said this:
@locid is the results given by the user, for example '33, 234'
You can not expand the variable directly so that location_in IN (33, 234)
. You are actually asking for location_id = '33, 234'
, which will fail with a CAST conversion, because of datatype precedence.
You have to parse the list first into a table form for use in a JOIN/EXISTS construct. There are several options and Erland covers them all here: Arrays and Lists in SQL Server 2005