Problema con el Operador IN
Publicado por the dreammer (1 intervención) el 13/02/2008 16:42:09
hola amigos:
tengo un pequeño problema.
he creado un store Procedure en Mysql, que es el siguiente:
CREATE DEFINER=`root`@`%` PROCEDURE `Sp_Total_Clientes`(Pais Varchar(250),Tipo Varchar(250),Area Varchar(250))
BEGIN
DECLARE variable1 varCHAR(250);
DECLARE variable2 varCHAR(250);
DECLARE variable3 varCHAR(250);
set variable1=Pais ;
set variable2=Tipo ;
set variable3=Area ;
SELECT COUNT(DISTINCT P.IdCliente) FROM Cliente AS P, area AS A,AREA_CLIENTE AC , pais AS PA,Empresa AS E,TipoEmpresa TP
Where P.IDAREA = A.IDAREA And A.IDAREA=AC.IDAREA AND
P.IDPAIS = PA.IDPAIS And P.IDEMPRESA = E.IDEMPRESA And
E.IdTipoEmpresa = TP.IdTipoEmpresa AND P.IDPAIS IN (variable1) AND
TP.IdTipoEmpresa IN (variable2) AND A.IDAREA IN (variable3)
ORDER BY P.IDCliente,PA.IDPAIS,TP.IdTipoEmpresa ;
END
MI problema es que desde el Visual 6.0 le envio los parametros de la siguiente manera:
LSPAIS="1,2,3"
LSTIPOEMPRESA="1,2,3,4,5,6,7,8,9"
LSAREA="2,4,6,8,10,29,30,35"
Rs1.Open "call Sp_Total_Clientes ('" & LSPAIS & "','" & LSTIPOEMPRESA & "','" & LSAREA & "') ", cnMySQL, adOpenDynamic, adLockBatchOptimistic
pero al hacer la consulta en el store no me devuelve los registros incorrectos(cantidad de registros) es porque el mysql toma solo el primer valor de la cadena y los demas los ovia, esa es mi conclusion, alguien me podria ayudar .. porfa lo mas pronto posible.
tengo un pequeño problema.
he creado un store Procedure en Mysql, que es el siguiente:
CREATE DEFINER=`root`@`%` PROCEDURE `Sp_Total_Clientes`(Pais Varchar(250),Tipo Varchar(250),Area Varchar(250))
BEGIN
DECLARE variable1 varCHAR(250);
DECLARE variable2 varCHAR(250);
DECLARE variable3 varCHAR(250);
set variable1=Pais ;
set variable2=Tipo ;
set variable3=Area ;
SELECT COUNT(DISTINCT P.IdCliente) FROM Cliente AS P, area AS A,AREA_CLIENTE AC , pais AS PA,Empresa AS E,TipoEmpresa TP
Where P.IDAREA = A.IDAREA And A.IDAREA=AC.IDAREA AND
P.IDPAIS = PA.IDPAIS And P.IDEMPRESA = E.IDEMPRESA And
E.IdTipoEmpresa = TP.IdTipoEmpresa AND P.IDPAIS IN (variable1) AND
TP.IdTipoEmpresa IN (variable2) AND A.IDAREA IN (variable3)
ORDER BY P.IDCliente,PA.IDPAIS,TP.IdTipoEmpresa ;
END
MI problema es que desde el Visual 6.0 le envio los parametros de la siguiente manera:
LSPAIS="1,2,3"
LSTIPOEMPRESA="1,2,3,4,5,6,7,8,9"
LSAREA="2,4,6,8,10,29,30,35"
Rs1.Open "call Sp_Total_Clientes ('" & LSPAIS & "','" & LSTIPOEMPRESA & "','" & LSAREA & "') ", cnMySQL, adOpenDynamic, adLockBatchOptimistic
pero al hacer la consulta en el store no me devuelve los registros incorrectos(cantidad de registros) es porque el mysql toma solo el primer valor de la cadena y los demas los ovia, esa es mi conclusion, alguien me podria ayudar .. porfa lo mas pronto posible.
Valora esta pregunta


0