Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2009, 13:59
Vendetta
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 17 años
Puntos: 5
Exclamación WHERE mal hecho?

Buenas!

Estoy haciendo una web y una parte de ella es, como en la mayoria, las noticias.

Tengo una tabla donde se muestran las 10 ultimas noticias creadas. En esa misma sale el titulo, categoria, autor, fecha, cantidad de comentarios y las visitas (o clicks) a esa noticia.

Tengo la consulta hecha y funciona bien...funciona bien porque esta bien hecho pero no muestra lo que quiero que muestre. Me explico.

Código sql:
Ver original
  1. SELECT base_desarrollo.id, base_desarrollo.project_id, base_desarrollo.fecha, base_desarrollo.titulo, base_desarrollo.autor, base_proyectos.proyecto, base_proyectos.url, IFNULL(COUNT(base_comentarios.des_id),0) total
  2. FROM base_desarrollo
  3. LEFT JOIN base_proyectos ON base_desarrollo.project_id = base_proyectos.id
  4. INNER JOIN base_comentarios ON base_comentarios.des_id = base_desarrollo.id
  5. GROUP BY  base_desarrollo.id
  6. ORDER BY base_desarrollo.fecha DESC LIMIT 10;

Esa es la consulta que estoy utilizando. En ella indico que la categoria (proyectos) sea la indicada a la noticia (desarrollo) y que salga la cantidad de comentarios que hay en cada noticia.

El problema es que de alguna forma, esta consulta esta haciendo que solo se muestren las noticias que tienen comentarios. Las que no tienen comentarios no se muestran y entonces no tiene sentido, si no se ven no se puede dejar comentario XD Llevo toda la tarde mirandola, haciendo cosas, modificandola un poco pero nada.

Ya de paso, me gustaria preguntar para que sirve exactamente el "GROUP BY" y a poder ser no me mandeis a otra pagina a leer un manual, si podeis explicarmelo os lo agradecere, si no, no pasa nada.

Espero que puedan ayudarme y Gracias de antemano ^^