MySQL - Multiples select en consulta a la misma tabla

   
Vista:

Multiples select en consulta a la misma tabla

Publicado por Andres (1 intervención) el 19/12/2014 02:21:52
hola a todos, gracias de antemano por la ayuda.

Tengo una tabla donde se almacenan la cantidad de ventas de un vendedor con la siguiente estructura

cedula_vendedor, cantidad_ventas, mes_ventas

necesito un query mysql donde me muestre un resultado de la siguiente manera:

cedula_vendedor ventas_diciembre, ventas_noviembre, diferencia_ventas

muchas gracias por su ayuda.

PD: la diferencia de ventas si se como hacerla y traer el mes de diciembre en la segunda columna tambien, el problema está en cargar los datos de noviembre en la tercer columna, ya que son de la misma la tabla.

la tabla actual esta de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
12
13
+--------+-----------------+------------+
| cedula | cantidad_ventas | mes_ventas |
+--------+-----------------+------------+
|     1  |       450       | diciembre  |
|     1  |       320       | noviembre  |
|     1  |       180       | octubre    |
|     2  |       100       | diciembre  |
|     2  |       200       | noviembre  |
|     2  |       300       | octubre    |
|     3  |       150       | diciembre  |
|     3  |       350       | noviembre  |
|     3  |       550       | octubre    |
+--------+-----------------+------------+

Y lo que necesito es que la consulta me arroje un resultado de la siguiente manera:
1
2
3
4
5
6
7
+--------+------------------+------------------+------------+
| cedula | ventas_diciembre | ventas_noviembre | diferencia |
+--------+------------------+------------------+------------+
|     1  |       450        |       320        |     130    |
|     2  |       100        |       200        |    -100    |
|     3  |       150        |       350        |    -200    |
+--------+------------------+------------------+------------+
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Multiples select en consulta a la misma tabla

Publicado por xve (898 intervenciones) el 19/12/2014 16:08:05
Hola Andres, una manera podría ser:

1
2
3
4
5
SELECT s1.cedula, ventas_diciembre, ventas_noviembre,  (ventas_diciembre-ventas_noviembre) AS diferencia FROM
(SELECT cedula,sum(cantidad_ventas) as ventas_diciembre FROM Tabla WHERE mes_venta="diciembre") as S1
LEFT JOIN
(SELECT cedula,sum(cantidad_ventas) as ventas_noviembre FROM Tabla WHERE mes_venta="noviembre") as S2
ON S1.cedula=S2.cedula

No lo he probado... ya nos comentaras, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar