MySQL - mostrar resultados 0

   
Vista:

mostrar resultados 0

Publicado por Ricard (17 intervenciones) el 16/06/2016 15:47:07
Hola gente,

estoy realizando un curso de mysql y tengo una duda, esto es lo que me piden

Recuperar los datos de los clientes (CLIENTE_NO, NOMBRE, LOCALIDAD) de la empresa junto con la suma de pedidos y la suma de unidades que ha solicitado en todos sus pedidos, incluyendo aquellos clientes que no tengan pedidos, en cuyo caso mostraremos un 0 en la columna correspondiente.

Bíen el único problema que tengo es que no se como mostrar los clientes que no hayan realizado ningñun pedido, o sea aquellos en que la suma sea 0, que son los que no me aparecen ahora:

COUNT(IFNULL(pedido_no,0))

Os dejo la sentencia completa que he utilizado y sólo me queda pendiente que me aparezcan los clientes que no han realizado ningún pedido

SELECT clientes.cliente_no, nombre, localidad, COUNT(IFNULL(pedido_no,0)) "Pedidos Realizados", SUM(UNIDADES) "Suma unidades"
FROM clientes, pedidos
WHERE clientes.cliente_no = pedidos.cliente_no
GROUP BY CLIENTE_NO;

Os adjunto la imagen para que podáis ver las tablas.

Gracias!!!!

Mysql
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

mostrar resultados 0

Publicado por DAVID (63 intervenciones) el 17/06/2016 13:01:22
Hola,

Deberas hacer un left outer join. Aqui te lo explican con un ejemplo y es muy facil de ententer:
https://es.wikipedia.org/wiki/Join#De_tabla_izquierda_.28LEFT_OUTER_JOIN_o_LEFT_JOIN.29

Un saludo,
David
paginas web economicas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

mostrar resultados 0

Publicado por Ricard (17 intervenciones) el 17/06/2016 13:14:54
Gracias

al final lo he realizado con esta sentencia

1
2
3
4
5
SELECT clientes.cliente_no, nombre, localidad, COUNT(IFNULL(pedido_no,0)) "Pedidos Realizados", SUM(UNIDADES) "Suma unidades"
FROM CLIENTES
LEFT OUTER JOIN pedidos
ON clientes.cliente_no = pedidos.cliente_no
GROUP BY CLIENTE_NO;

Muchas gracias!!!


mysql
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

mostrar resultados 0

Publicado por xve (898 intervenciones) el 17/06/2016 18:17:18
Gracias por compartirlo Ricard!!!
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