SQL Server - Cadenas separadas por comas dentro de un parametro

 
Vista:

Cadenas separadas por comas dentro de un parametro

Publicado por Edgardo Guevara (1 intervención) el 27/04/2006 19:57:38
Hola!

Necesito introducir en un parametro un string compuesto de varias cadenas delimitadas por comillas simples y utilizando la coma como separadores

('cadena 1','cadena 2','cadena 3','....)

La idea es que el query buske por cada una de las cadenas enviadas, no se porque razon el parametro parece no aceptar ese super string. Mi query es el siguiente:

SELECT b.startdate, a.productname, SUM (c.charge) AS "CANTIDAD"
FROM tabla1 a,
tabla2 b,
tabla3 c
WHERE a.productname in (:sm_pname)
AND TRUNC (b.startdate) BETWEEN :fechai AND :fechaf
AND b.productid = a.productid
AND b.productid = c.productid
GROUP BY b.startdate, a.productname

En la linea

WHERE a.productname in (:sm_pname)

Es que quiero introducir las cadenas delimitadas por comillas simples y separadas por comas. ¿Que puedo hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cadenas separadas por comas dentro de un parame

Publicado por pablo (3 intervenciones) el 28/04/2006 21:09:00
puedes ejecutar el select usando el comando exec y definir el parametro como una variable ej:
primero define el parametro en una variable

declare
@cadenaparametro varchar(50)

set @cadenaparametro='cadena 1'+','+'cadena 2'+','+'cadena 3'

exec('SELECT b.startdate, a.productname, SUM (c.charge) AS "CANTIDAD"
FROM tabla1 a,tabla2 b,tabla3 c
WHERE a.productname in ('+@cadenaparametro+')')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar