Hola, aqui esta la estructura de las tablas. No la puse antes, porque creia que el fallo estaba en el join que hice yo.
Código sql:
Ver originalCREATE TABLE IF NOT EXISTS `pos_loc_cln` (
`clid` INT(11) NOT NULL AUTO_INCREMENT,
`fch` DATE NOT NULL,
`hor` TIME NOT NULL,
`hash` VARCHAR(255) NOT NULL,
`local` VARCHAR(115) NOT NULL,
`est` VARCHAR(255) NOT NULL,
`total` VARCHAR(255) NOT NULL,
`entrada` VARCHAR(255) NOT NULL,
`vuelta` VARCHAR(255) NOT NULL,
`cr_hor` TIME NOT NULL,
`ttop` VARCHAR(255) NOT NULL,
`tst` datetime NOT NULL,
`ts2` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`clid`),
UNIQUE KEY `key` (`hash`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `pos_loc_tpv`
--
CREATE TABLE IF NOT EXISTS `pos_loc_tpv` (
`vid` INT(11) NOT NULL AUTO_INCREMENT,
`pid` INT(255) NOT NULL,
`pnotes` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`fecha` DATE NOT NULL,
`pcat` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`prc` VARCHAR(255) NOT NULL,
`hora` TIME NOT NULL,
`opst` INT(11) NOT NULL,
`cta` VARCHAR(255) NOT NULL,
`nom` VARCHAR(255) NOT NULL,
`clid` INT(11) NOT NULL,
`local` VARCHAR(255) NOT NULL,
`dev` INT(11) NOT NULL,
`dvid` VARCHAR(255) NOT NULL,
`dpid` VARCHAR(255) NOT NULL,
`did` INT(11) NOT NULL,
`drid` VARCHAR(255) NOT NULL,
`key` VARCHAR(255) NOT NULL,
`octa` VARCHAR(255) NOT NULL,
`edid` INT(11) NOT NULL,
`dprc` INT(11) NOT NULL,
`dcta` INT(11) NOT NULL,
PRIMARY KEY (`vid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=99 ;
Ejecutando esta consulta
Código sql:
Ver originalSELECT SUM( cta ) , SUM( prc ) , COUNT( vid )
FROM `pos_loc_tpv`
WHERE fecha = '2009-11-08'
Me devuelve:
Código sql:
Ver originalSUM(cta) SUM(prc) COUNT(vid)
32 20.8 27
gnzsoloyo, he probado lo que me has puesto y da el mismo resultado. Sobre lo del where, cuando dije que puse dos where, me referia a que use where ... and .. (como la q aparece aqui), fallo mio por no ponerlo bien.
LA idea es sumar la cantidad de productos vendidos(cta) y que concuerden con las cantidades que devuelve pos_loc_cln.total. Y contar el numero de operaciones (vid) y clientes que se hayan producido ese dia, y donde el valor de dev sea igual a 0.
No se porque me salen un valores tan error, de hecho, suamdno todos los valores de de pos_loc_tpv.cta, sin tener en cuenta la fecha, me sale unos 100, mientras que con el JOIN me sale 300.
pd: he quitado el contar dev, porque no hay forma de contarlo sin que afecte a los demas.
Gracias