Comunidad de diseño web y desarrollo en internet online

Count en tablas separadas pero 1 solo resultado

Citar            
MensajeEscrito el 07 Ene 2014 05:03 pm
Buenos dias,

Tengo el siguiente problema... Quiero saber cual fue el modelo más vendido el último mes. Para lograr esto tengo mis tablas de Boleta y Factura (según lo que el cliente pida).

Si quiero saber cual es el modelo que más se vendio en boletas pongo:

Código MySQL :

SELECT dsc_tipo, dsc_modelo, COUNT( VEN_DET_BOLETA.cod_modelo ) AS cantidad

FROM VEN_DET_BOLETA

INNER JOIN VEN_CAB_BOLETA ON VEN_CAB_BOLETA.cod_boleta = VEN_DET_BOLETA.cod_boleta
INNER JOIN LOG_MODELO ON VEN_DET_BOLETA.cod_modelo = LOG_MODELO.cod_modelo
INNER JOIN LOG_TIPO ON VEN_DET_BOLETA.cod_tipo = LOG_TIPO.cod_tipo

WHERE VEN_CAB_BOLETA.fch_fecha BETWEEN '2013-12-01' AND '2013-12-31'
AND VEN_DET_BOLETA.cod_familia = '1'

GROUP BY VEN_DET_BOLETA.cod_modelo

ORDER BY `cantidad` DESC 


Si quiero saber cual es el modelo que más se vendio en facturas pongo:

Código MySQL :

SELECT dsc_tipo, dsc_modelo, COUNT( VEN_DET_FACTURA.cod_modelo ) AS cantidad

FROM VEN_DET_FACTURA

INNER JOIN VEN_CAB_FACTURA ON VEN_CAB_FACTURA.cod_factura = VEN_DET_FACTURA.cod_factura
INNER JOIN LOG_MODELO ON VEN_DET_FACTURA.cod_modelo = LOG_MODELO.cod_modelo
INNER JOIN LOG_TIPO ON VEN_DET_FACTURA.cod_tipo = LOG_TIPO.cod_tipo

WHERE VEN_CAB_FACTURA.fch_fecha BETWEEN '2013-12-01' AND '2013-12-31'
AND VEN_DET_FACTURA.cod_familia = '1'

GROUP BY VEN_DET_FACTURA.cod_modelo

ORDER BY `cantidad` DESC 


Pero cual es el codigo que debo poner si quiero saber el más vendido de boletas y facturas juntos??
Lo que hago actualmente es obtener los resultados por separado y sumarlos a mano, pero hay alguna forma de MySQL me entregue este resultado sin tener que hacerlo manualmente??

Muchas gracias

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 07 Ene 2014 11:36 pm
Si no hay algo que relacione la dos tablas, por fuerza las consultas son por separado.

Te recomiendo crear una tabla temporal donde guardes estos datos. Si embargo debes de guardar los valores en una determinada variable y bueno.

siguiendo el Keep it Simple, deja la suma manual.

Y regresando al SQL:

CREATE TEMPORARY TABLE temp_users_and_profiles AS (
SELECT *
FROM users
INNER JOIN profiles ON users.id=profiles.user_id
);

No es basado en tu consulta, puesto que es mucho trabajo, pero espero tengas una guia para tu proxima solucion.

Saludos.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.