Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Unir 2 tablas

Estas en el tema de Unir 2 tablas en el foro de Mysql en Foros del Web. Buenas... Hace tiempo que no tocaba este tema y como no era ningun experto, estoy teniendo problemas al unir 2 tablas, es bastante sencillo pero ...
  #1 (permalink)  
Antiguo 31/10/2009, 17:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 5
Unir 2 tablas

Buenas...

Hace tiempo que no tocaba este tema y como no era ningun experto, estoy teniendo problemas al unir 2 tablas, es bastante sencillo pero no consigo recordar como era la forma correcta. Explico...

Tengo 2 tablas, una de noticias y otra de comentarios. Necesito contar el numero de comentarios de cada noticia y imprimirlo en pantalla. La tabla sin unir es asi como la tengo:

Código sql:
Ver original
  1. SELECT * FROM web_noticias ORDER BY id DESC LIMIT 20

bien sencilla. La habia unido antes, el problema es que solo me mostraba 1 noticia. Lo que quiero es mostrar todas las noticias, tal y como esta ahora unicamente contando el campo id_not que esta en la tabla web_noticias_comentarios. Segun creia era algo asi:

Código sql:
Ver original
  1. SELECT wn.*, COUNT(id_not) AS id_n
  2. FROM web_noticias wn
  3. LEFT JOIN web_noticias_comentarios wnc
  4. ON wn.id = wnc.id_not
  5. ORDER BY id DESC LIMIT 20

y luego seria simplemente hacer un $comentario['id_n']; (tal y como lo tengo) el problema es que esta misma tabla solo muestra 1 noticia, no todas y no consigo recordar como es la forma correcta (y mira que lo he hecho veces...) he buscado tambien en google pero no me ha ayudado mucho.
  #2 (permalink)  
Antiguo 31/10/2009, 17:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Unir 2 tablas

Cuidado: Si usas una función agregada (COUNT(), en este caso), dentro de un select que invoca a otros campos sin usar funciones agregadas en ellos, debe forzosamente usarse un GROUP BY sobre un campo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 31/10/2009, 17:35
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Unir 2 tablas

Mierda, sabia que era una tonteria pero no conseguia recordar que era.

Muchas gracias, ya me funciona ^^
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:20.