Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/02/2013, 19:06
gylle05
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mysql Vs Access

La tabla donde inserto todo es
Código MySQL:
Ver original
  1. CREATE TABLE  `amparobd`.`lcomputos` (
  2.   `Sucursal` varchar(255) DEFAULT NULL,
  3.   `Idpagador` varchar(255) DEFAULT NULL,
  4.   `Compania` varchar(255) DEFAULT NULL,
  5.   `Categoria` varchar(255) DEFAULT NULL,
  6.   `Numero` double DEFAULT NULL,
  7.   `Empresa` varchar(255) DEFAULT NULL,
  8.   `Zona` varchar(255) DEFAULT NULL,
  9.   `Legajo` varchar(45) DEFAULT NULL,
  10.   `Doctip` varchar(3) DEFAULT NULL,
  11.   `Doc` varchar(255) DEFAULT NULL,
  12.   `ApyN` varchar(255) DEFAULT NULL,
  13.   `Saldo` double DEFAULT NULL,
  14.   `Pliquida` varchar(6) DEFAULT NULL,
  15.   `Fecha` varchar(40) DEFAULT NULL,
  16.   `CuotaActual` double DEFAULT NULL,
  17.   PRIMARY KEY (`id`),
  18.   KEY `Pliquida` (`Pliquida`)


el SP es

Código MySQL:
Ver original
  1. INSERT INTO ComputosSaldos ( idPagador, Compania, Categoria, Numero, Saldo )
  2. SELECT movimientos.idPagador, movimientos.Compania, movimientos.Categoria, movimientos.Numero, Sum(Monto*signo) AS Saldo
  3. FROM movimientos INNER JOIN signos ON movimientos.Tipo = signos.comprobante
  4. WHERE (((movimientos.Empresa)='     90691'))
  5. GROUP BY movimientos.idPagador, movimientos.Compania, movimientos.Categoria, movimientos.Numero;
  6.  
  7. INSERT INTO lcomputos ( Sucursal, Idpagador, Compania, Categoria, Numero, Empresa, Zona, Legajo, Doctip, Doc, ApyN, Pliquida, Fecha )
  8. SELECT fichaspagador.Sucursal, fichaspagador.Idpagador, fichaspagador.Compania, fichaspagador.Categoria, fichaspagador.Numero, fichaspagador.Empresa, fichaspagador.Zona, fichaspagador.Legajo, pagador.Doctip, Docnum AS Doc, concat(Desencriptar(Apellido),' ',Desencriptar(Nombre)) AS ApyN, '022013' AS pl, '30/01/2013' AS fl
  9. FROM pagador INNER JOIN fichaspagador ON pagador.Idpagador = fichaspagador.Idpagador
  10. WHERE (((fichaspagador.Empresa)='     90691') AND ((fichaspagador.Fegreso) Is Null));
  11.  
  12. UPDATE lcomputos INNER JOIN cuotaspagador ON (lcomputos.Numero = cuotaspagador.Numero) AND (lcomputos.Categoria = cuotaspagador.Categoria) AND (lcomputos.Compania = cuotaspagador.Compania) AND (lcomputos.Idpagador = cuotaspagador.Idpagador)
  13. SET lcomputos.CuotaActual = cuotaspagador.Cuota
  14. WHERE (((cuotaspagador.Hasta)='999999') AND ((lcomputos.Pliquida)='022013'));
  15.  
  16. UPDATE lcomputos LEFT JOIN ComputosSaldos ON (lcomputos.Numero = ComputosSaldos.Numero) AND (lcomputos.Categoria = ComputosSaldos.Categoria) AND (lcomputos.Compania = ComputosSaldos.Compania) AND (lcomputos.Idpagador = ComputosSaldos.idPagador)
  17. SET lcomputos.Saldo = Round(ComputosSaldos.Saldo,2)
  18. WHERE (((ComputosSaldos.Saldo)>0.1));
  19.  
  20. UPDATE lcomputos
  21. SET lcomputos.Saldo = 0
  22. WHERE (((lcomputos.Saldo) Is Null));
  23.  
  24. UPDATE lcomputos
  25. SET lcomputos.Saldo = CuotaActual
  26. WHERE (((CuotaActual-Saldo)>0 And (CuotaActual-Saldo)<1));


que son una migracion de las que tengo en access
de todas maneras por ke se tarda menos en access deberia ser al contrario

Última edición por gnzsoloyo; 01/02/2013 a las 19:42 Razón: SQL sin etiquetar.