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

Select DISTINCT entre 2 tablas....

Estas en el tema de Select DISTINCT entre 2 tablas.... en el foro de Mysql en Foros del Web. Hola a todos(as); Les explico, tendo 2 tablas (Encabezado y Itemes) en las cuales tendo informacion que deseo, por logica extraer... el dato en comun ...
  #1 (permalink)  
Antiguo 23/09/2005, 14:48
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Select DISTINCT entre 2 tablas....

Hola a todos(as);

Les explico, tendo 2 tablas (Encabezado y Itemes) en las cuales tendo informacion que deseo, por logica extraer... el dato en comun entre las tablas es Itemes.NumIntDesp y Encabezado.Cod, el cual corresponde al codigo, aqui bien... el problema que al ejecutar el codigo me despliega varias veces el Codigo segun la cantidad de veces que se repita en la tabla Itemes, lo unico que deseo es que si lo encuentra sólo muestre que lo encontro y no la cantidad de veces que esta..... por esta razon utilice el DISTINCT pero no realiza nada o ¿o me falta algo? (mysql)

A: casi se me olvida, estoy compaginando.


Itemes.NumIntDesp=Encabezado.Cod


Select DISTINCT Encabezado.Cod, Encabezado.DvNroAcept, Encabezado.NroAcept, Encabezado.Area, Encabezado.FechaLegal, Encabezado.RutExpPpal, DATE_FORMAT(Encabezado.FechaAcept,'%d-%m-%Y') As FechaAcTp, Itemes.NumIntDesp, Itemes.Nombre, Itemes.CodDespa From Encabezado,Itemes Where Encabezado.CodDespa='44' And Itemes.NumIntDesp=Encabezado.Cod And Itemes.CodDespa='44' AND Encabezado.CodTipoOperacion > 0 AND Encabezado.Cod BETWEEN 1 And 1000 And Itemes.Nombre LIKE '%10%' Order By Encabezado.Cod Asc LIMIT 0,8


Gracias
  #2 (permalink)  
Antiguo 25/09/2005, 00:06
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
el distinct aplica para toda la consulta, no solo para el primer registro.
osea que si el primer codigo se repite pero el segundo no, entonces pasa el dato...

deberias hacer en el where alguna subconsulta o aplicarle algun filtro.
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 26/09/2005, 09:13
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
porfavor,,,

he intentado de todo; pero, no me sale eso.... re-explico segun el codigo de arriba lo que deseo es realizar una consulta a dos tablas en forma simultanea ( Encabezado / Itemes )

En encabezado, existe un registro unico por cliente....
En itemes, se repiten N veces registro de clientes.....

Ahora, al realizar la consulta me resulta pero, me despliega en registro N veces segun se localice an la tabla de Itemes ... muchachos lo unico que quiero es realizar las consulta en 2 tablas y que me entregre SOLO UNA VEZ ese registro y no tantas segun esten en tabla Itemes....

Alguien tiene un ejemplito se lo agradecere bastante...
gracias a todos (as).


Ciopatrick
  #4 (permalink)  
Antiguo 26/09/2005, 10:55
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
podrias ponerle un Limit (1,1)
__________________
roy rojas
Programación en Español: DotNetcr.com
  #5 (permalink)  
Antiguo 15/10/2008, 23:03
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Select DISTINCT entre 2 tablas....

un inner join, o un join que es lo mismo where campo1=campo2
  #6 (permalink)  
Antiguo 16/10/2008, 09:15
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: Select DISTINCT entre 2 tablas....

Si y no.
El JOIN o INNER JOIN son optimizables por el parser de MySQL. El WHERE no.
SI la condición de coincidencia la pones en el WHERE no podrás acelerar la consulta de ninguna forma. Si lo haces en el JOIN, MySQL puede obtener resultados más rápidos en determinadas consultas.
Esto se percibe en grandes cantidades de datos. Las tablas pequeñas no muestran diferencias apreciables.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 10:12.