tengo un tabla
Código SQL:
Ver originalCREATE 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 originalSELECT 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 originalUPDATE 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