Código SQL:
Ver original
CREATE TABLE `_tmp_venedors` ( `vdor` SMALLINT(6) NOT NULL, `normal_completa_unidades` INT(11) NULL DEFAULT '0', `normal_completa_importe` DOUBLE(9,2) NULL DEFAULT '0.00', `normal_completa_dtomedio` DOUBLE(9,2) NULL DEFAULT '0.00', `normal_completa_vtamedia` DOUBLE(9,2) NULL DEFAULT '0.00', `normal_sinmontura_unidades` INT(11) NULL DEFAULT '0', `normal_sinmontura_importe` DOUBLE(9,2) NULL DEFAULT '0.00', `normal_sinmontura_dtomedio` DOUBLE(9,2) NULL DEFAULT '0.00', `normal_sinmontura_vtamedia` DOUBLE(9,2) NULL DEFAULT '0.00', `reparaciones_unidades` INT(11) NULL DEFAULT '0', `reparaciones_importe` DOUBLE(9,2) NULL DEFAULT '0.00', `sustituye_unidades` INT(11) NULL DEFAULT '0', `sustituye_importe` DOUBLE(9,2) NULL DEFAULT '0.00', `garantia_unidades` INT(11) NULL DEFAULT '0', `garantia_importes` DOUBLE(9,2) NULL DEFAULT '0.00', `promo_primera_operaciones` INT(11) NULL DEFAULT '0', `promo_primera_importe` DOUBLE(9,2) NULL DEFAULT '0.00', `promo_primera_vtamedia` DOUBLE(9,2) NULL DEFAULT '0.00', `promo_segunda_consuple` INT(11) NULL DEFAULT '0', `promo_segunda_sinsuple` INT(11) NULL DEFAULT '0', `promo_segunda_importe` DOUBLE(9,2) NULL DEFAULT '0.00', `promo_segunda_vtamedia` DOUBLE(9,2) NULL DEFAULT '0.00', PRIMARY KEY (`vdor`), UNIQUE INDEX `vdor` (`vdor`) )
donde debo acumular por vendedor los resultados de diferentes consultas sobre varias tablas para mostrar el resultado
como puedo actualizar los campos normal_completa_unidades, normal_completa_importe, normal_ completa_dto_medio y normal_completa_vtamedia de la consulta siguiente
Código SQL:
Ver original
SELECT encargos.vendedorVta, COUNT(*) AS operaciones, SUM(encargos.impnetoVta) AS impvta, round(avg(encargos.impdtoVta),2) AS avgdto, round(avg(impnetoVta),2) AS vtamedia FROM encargos WHERE anuladaVta<>"S" AND fechaVta BETWEEN '2018-07-01' AND '2018-07-31' AND promocionVta=0 AND TRIM(monturaVta)>'' GROUP BY vendedorVta ORDER BY vendedorVta
pensaba que deberia ser algo similar al codigo que detallo pero esta mal construida la sent
Código SQL:
Ver original
UPDATE tmp_venedors SET (normal_completa_unidades, normal_completa_importe, normal_ completa_dto_medio , normal_completa_vtamedia) FROM (SELECT encargos.vendedorVta, COUNT(*) AS operaciones, SUM(encargos.impnetoVta) AS impvta, round(avg(encargos.impdtoVta),2) AS avgdto, round(avg(impnetoVta),2) AS vtamedia FROM encargos WHERE anuladaVta<>"S" AND fechaVta BETWEEN '2018-07-01' AND '2018-07-31' AND promocionVta=0 AND TRIM(monturaVta)>'' GROUP BY vendedorVta) WHERE vdor=vendedorVta
me podeis ayudar en esta instrucción.
Gracias