SQL - Una ayudita porfa, consulta de SQL facil

 
Vista:

Una ayudita porfa, consulta de SQL facil

Publicado por HeavyBoy (2 intervenciones) el 26/02/2007 14:48:48
Hola colegas! Gracias por leer esto.
A ver ... comento.
Imaginaos dos tablas tal que asi:

productos
-------------
-id
-nombre
-categoria_id

categorias
----------------
-id
-nombre

Hay una sola relacion entre productos-categoria.
Si yo tengo por ejemplo 10 categorias, y 3 productos, hay categorias que no se usan.
Si yo hago esto:

SELECT c.nombre, count(p.id) as productos
FROM categorias c, productos p
WHERE p.categoria_id = c.id
GROUP BY p.id

Obtengo algo asi:

nombre productos
-------------------------
cat1 1
cat2 1
cat3 1

Solo me aparecen las categorias que si tienen algun producto.
¿Como puedo conseguir que aparezcan tambien las que no tiene productos?

Espero que podais echarme un cable. Gracias! :)
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

RE:Una ayudita porfa, consulta de SQL facil

Publicado por Julio Jungbluth (6 intervenciones) el 26/02/2007 18:04:24
Puedes usuar LEFT OUTER JOIN , aca te doy la descripcion y un ejemplo

Combinación externa izquierda :

Se incluyen todas las filas de la tabla nombrada en primer lugar (la tabla "izquierda", que aparece totalmente a la izquierda en la cláusula JOIN). Las filas que no coinciden de la tabla derecha no aparecen. Por ejemplo, la siguiente instrucción SQL ilustra una combinación exterior izquierda entre las tablas titles y publishers para incluir todos los títulos, incluso los que no tienen información de editor:
SELECT titles.title_id,
titles.title,
publishers.pub_name
FROM titles LEFT OUTER JOIN publishers
ON titles.pub_id
= publishers.pub_id
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