elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Consulta sql, 1 key a varios registros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta sql, 1 key a varios registros  (Leído 4,542 veces)
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Consulta sql, 1 key a varios registros
« en: 24 Mayo 2011, 21:42 pm »

Buenas, como esta?

Estoy haciendo un sistema de post en los que se pueden dejar varios comentarios, y mi problema es que no se que consultar hacer para el siguiente caso:

Yo tengo dos tablas "posts" y "comentarios". Donde sus key son id_post y id_comentario.

(pongo los campos que intervienen en el problema nada mas)

Posts:                          Comentarios:

|--id_post--|                |-----id_comentario-----|
                                  |--id_post_comentado--|

Un post puede tener varios comentarios o sea, en la tabla Comentarios puede haber varios registros con el mismo id_post_comentario.

Como seria la consulta para traer todos los comenarios pertenecientes a un post?
Es correcto como arme las tablas?

Muchas gracias.


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Consulta sql, 1 key a varios registros
« Respuesta #1 en: 25 Mayo 2011, 00:15 am »

Sí esta relacionada, puedes hacer un INNER JOIN, por ejemplo.

Si tenemos la siguiente estructura de tabla para POST y COMENTARIO.
Código
  1. mysql> SELECT * FROM tblComentario;
  2. +----+--------------+--------------+
  3. | id | idComentario | comentario   |
  4. +----+--------------+--------------+
  5. |  1 |            1 | Comentario 1 |
  6. |  2 |            1 | Comentario 2 |
  7. |  3 |            2 | Comentario 1 |
  8. |  4 |            3 | Comentario 1 |
  9. |  5 |            3 | Comentario 2 |
  10. |  6 |            3 | Comentario 3 |
  11. +----+--------------+--------------+
  12. 6 ROWS IN SET (0.00 sec)
  13.  
  14. mysql> SELECT * FROM tblPost;
  15. +----+--------+--------------+
  16. | id | idPost | idComentario |
  17. +----+--------+--------------+
  18. |  1 |      1 |            2 |
  19. |  2 |      2 |            1 |
  20. |  3 |      3 |            3 |
  21. +----+--------+--------------+
  22. 3 ROWS IN SET (0.00 sec)

Realizamos el INNER JOIN y quedará así,
Código
  1.    SELECT tblPost.idPost, tblComentario.idComentario, tblComentario.comentario
  2.      FROM tblPost
  3. INNER JOIN tblComentario
  4.        ON tblPost.idComentario = tblComentario.idComentario
  5.     WHERE tblPost.idPost = 2;
El resultado sería,
Código
  1. +--------+--------------+--------------+
  2. | idPost | idComentario | comentario   |
  3. +--------+--------------+--------------+
  4. |      2 |            1 | Comentario 1 |
  5. |      2 |            1 | Comentario 2 |
  6. +--------+--------------+--------------+
  7. 2 ROWS IN SET (0.00 sec)


En línea

Te vendería mi talento por poder dormir tranquilo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consulta access, no repetir registros.
Programación Visual Basic
agutin1983 5 8,437 Último mensaje 14 Diciembre 2005, 01:08 am
por el_chente23
numero de registros y consulta
Bases de Datos
Thekraken 1 2,009 Último mensaje 10 Febrero 2012, 00:42 am
por Carloswaldo
CONSULTA - Orden de registros en php
Desarrollo Web
catriel10 1 1,810 Último mensaje 19 Enero 2016, 14:45 pm
por eLank0
Indicar nombre a registros de una consulta
Bases de Datos
Brian1511 3 2,581 Último mensaje 27 Junio 2018, 15:15 pm
por Hadess_inf
Descargar programa para limpiar los registros de windows de varios discos
Software
galo20 2 2,847 Último mensaje 2 Diciembre 2021, 01:12 am
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines