Foros del Web » Programando para Internet » PHP »

ayudacon duplicados left join

Estas en el tema de ayudacon duplicados left join en el foro de PHP en Foros del Web. Hola estoy tratando de imprimir una tabla usando la siguiente consulta. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT * FROM comunicados_muestra LEFT JOIN comunicados_leidos ON ...
  #1 (permalink)  
Antiguo 12/07/2012, 23:08
 
Fecha de Ingreso: julio-2012
Ubicación: Asunción
Mensajes: 54
Antigüedad: 11 años, 9 meses
Puntos: 3
ayudacon duplicados left join

Hola estoy tratando de imprimir una tabla usando la siguiente consulta.


Código SQL:
Ver original
  1. SELECT * FROM comunicados_muestra LEFT JOIN comunicados_leidos ON comunicados_muestra.id_comunicado = comunicados_leidos.id_comunicado_leido ORDER BY comunicados_muestra.fecha_modif DESC


Lo que ocurre es lo siguiente

Cuando tengo mais de un id_interno_leido que esta enlazado con el mismo id_comunicado_leido

me duplica, triplica, etc etc..

Alguien podría darme una mano con esto??

talvez alguna condicion al imprimir la tabla con php..
  #2 (permalink)  
Antiguo 13/07/2012, 04:09
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: ayudacon duplicados left join

Hola skyspablo.
Tal y como dices, podrias solucionarlo con php, pero crea más óptimo que lo soluciones ya esn la consulta. Para ello, debes utilizar la claúsula group by de sql. Te dejo un ejemplo con tu consulta:

Código PHP:
SELECT comunicados_muestra.campo_1,comunicados_muestra.campo_2,comunicados_leidos.campo_n FROM comunicados_muestra LEFT JOIN comunicados_leidos ON comunicados_muestra.id_comunicado comunicados_leidos.id_comunicado_leido GROUP BY comunicados_muestra.campo_1,comunicados_muestra.campo_2,comunicados_leidos.campo_n ORDER BY comunicados_muestra.fecha_modif DESC 
...donde comunicados_muestra.campo_1,comunicados_muestra.ca mpo_2,comunicados_leidos.campo_n es el conjunto de tabla.campo que necesitas.

Saludos.
  #3 (permalink)  
Antiguo 13/07/2012, 15:25
 
Fecha de Ingreso: julio-2012
Ubicación: Asunción
Mensajes: 54
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: ayudacon duplicados left join

Logre solucionar con esto:
Código SQL:
Ver original
  1. SELECT * FROM comunicados_muestra LEFT JOIN comunicados_leidos ON comunicados_muestra.id_comunicado = comunicados_leidos.id_comunicado_leido AND comunicados_leidos.id_interno_leido = '$id_interno_logueado'   ORDER BY `comunicados_muestra`.`fecha_modif` DESC

donde:
$id_interno_logueado es el id del usuario logeado, haciendo que no me traiga los otros usuarios que me generaban duplicados..

Gracias por la ayuda!

Etiquetas: duplicado, join, sql
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 21:48.