Estoy trabajando en una página de consulta donde un usuario selecciona un valor que representa diferentes tipos, cada uno identificado por una ID. El problema es seleccionar estos ID de la base de datos utilizando el método WHERE IN.Pase cadena a SQL DONDE EN
Esta es mi declaración SQL
SELECT M.REG_NO, T.TYPE_ID
FROM MAIN AS M
INNER JOIN CLASSIFICATION AS C
ON M.REG_NO = C.REG_NO
INNER JOIN TYPE AS T
ON T.TYPE_ID = C.TYPE_ID
WHERE T.TYPE_ID IN (@Types)
va a trabajar para un solo valor, por ejemplo. 46, pero NO si el valor está entre paréntesis, ej. (46) o ('46'), como debería ser para IN.
Estoy usando visual studio que genera automáticamente el método para acceder al adaptador de tabla para obtener los valores, así que creo que TENGO que hacer esto a través de SQL.
Estoy pasando una cadena, por ej. Types = "46,267,2010", en el método del adaptador que pasa la cadena a los @Types en la instrucción SQL.
Cualquier ayuda sería genial. ¡Gracias!
No sabe SQL Server, pero en Oracle, no puede pasar una variable enlazada como sus @Types; debe pasar una var o constan separada t para cada valor IN. –