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

Consulta sql con distinct

Estas en el tema de Consulta sql con distinct en el foro de Bases de Datos General en Foros del Web. hola: Tay trabajando en access, pero mi pregunta es sobre SQL, me imagino que podre prguntar aqui. tengo problemas para generar una paginacion, ya que ...
  #1 (permalink)  
Antiguo 31/01/2006, 13:52
 
Fecha de Ingreso: enero-2006
Mensajes: 4
Antigüedad: 18 años, 3 meses
Puntos: 0
Consulta sql con distinct

hola:

Tay trabajando en access, pero mi pregunta es sobre SQL, me imagino que podre prguntar aqui.

tengo problemas para generar una paginacion, ya que en tengo una consulta con inner join en distintas tablas, dentro de las cuales esta una de relacion muchos a muchos. Por lo cual los registros se repiten tantas veces como exista una relacion muchos a muchos.

la consulta es la siguinte

SELECT tb_evento.*, tb_tipo_evento.nom_tipev, tb_idioma.nom_idioma, tb_ciudad.nom_ciudad, tb_pais.nom_pais, tb_prioridad.nom_prio, tb_evento.estado_ev, tb_evento.fechaInicio_ev, tb_ev_prio.id_prio, tb_pais.id_pais, tb_evento.estado_ev
FROM tb_tipo_evento INNER JOIN (tb_prioridad INNER JOIN (tb_pais INNER JOIN (tb_idioma INNER JOIN ((tb_ciudad INNER JOIN tb_evento ON tb_ciudad.id_ciudad = tb_evento.ciudad_ev) INNER JOIN tb_ev_prio ON tb_evento.id_ev = tb_ev_prio.id_ev) ON tb_idioma.id_idioma = tb_evento.idioma_ev) ON tb_pais.id_pais = tb_ciudad.id_pais) ON tb_prioridad.id_prio = tb_ev_prio.id_prio) ON tb_tipo_evento.id_tipev = tb_evento.tipo_ev
WHERE (((tb_evento.estado_ev)="2"));


he utilizado distinct, para que no se repitan, pero eso me causa problemas la desplegar los campos de tipo memo, osea los corta y solo muestra hasta los 255 primeros caracteres, he visto en la web y esto es normal por usar distinct.... que otra sentencia se puede utilizar para hacer este filtro??

porfis respondanme...
  #2 (permalink)  
Antiguo 31/01/2006, 14:46
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
No tengo mucha experiencia con Access, pero para mi, esto no es posible, tal vez lo que tendrías que hacer es modificar tu sentencia utilizando subqueries en lugar de hacer los JOIN y dejar los DISTINCT dentro de los subqueries, es solo una idea, porque quizás lo que mas te convendría es solamente obtener los datos en los que no tengas estos datos binarios, una vez obteniéndolos podrías iterar nuevamente para obtener dichos datos.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 01/02/2006, 14:46
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Prueba quitando el distinct y agregando un GROUP BY sobre todos los campos que seleccionas.

El usar los distinct en subquerys también es una buena idea.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 12:35.