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

Duplicado de Filas en una Consulta

Estas en el tema de Duplicado de Filas en una Consulta en el foro de Bases de Datos General en Foros del Web. Tengo un problema combinado consultas, el caso es el sgte. tengo una fecha inicio y una final, cada consulta me da 4748 filas y cuando ...
  #1 (permalink)  
Antiguo 23/11/2007, 09:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Duplicado de Filas en una Consulta

Tengo un problema combinado consultas, el caso es el sgte. tengo una fecha inicio y una final, cada consulta me da 4748 filas y cuando combino las consultas me da aprox. 32452 filas, haber si alguien puede ayudarme con esto
esta es la consulta

Select x0.Turno,x0.Fecha1,x1.Fecha2,x0.MFA from (
Select fecha_hora_ev as Fecha1,Turno,MFA, 'FI' as ID from evento where num_ev=36
and cast(floor(cast(fecha_hora_ev as float)) as DateTime) between '01/11/07' and '20/11/07')as x0
Full join
(Select fecha_hora_ev as Fecha2,Turno as Tx,MFA, 'FF' as ID from evento where num_ev=37
and cast(floor(cast(fecha_hora_ev as float)) as DateTime) between '01/11/07' and '20/11/07') as x1
ON x0.turno=x1.Tx and x0.MFA=x1.MFA
Group by x0.Turno,x0.Fecha1,x1.Fecha2,x0.MFA having count(*)<2
order by x0.Fecha1,x0.Turno,x1.Fecha2,x0.MFA

Estoy utilizando Full Join, tambien lo comprobe con right,left e inner
gracias por antemano
  #2 (permalink)  
Antiguo 23/11/2007, 23:25
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: Problema consulta multiples

el codigo esta un poco enredado pero intenta cambiar el full join por union o union all
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 25/11/2007, 12:10
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Duplicado de Filas en una Consulta

El estándar es el INNER JOIN. No debes usar ningún otro a menos que realmente estés seguro de que es lo que necesitas.

Por otro lado, no conozco la estructura de tus tablas, pero probablemente la fecha es algo que debería ir en la clausula ON.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 26/11/2007, 03:37
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Duplicado de Filas en una Consulta

deberias dar al menos la estructura de la tabla y las PKs y FKs para que podamos ayudarte.

Un saludo
  #5 (permalink)  
Antiguo 26/11/2007, 05:45
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Duplicado de Filas en una Consulta

no puedo poner las fechas en el ON, por k son diferentes. el problema consiste cuando combino las tablas es decir como las fechas son diferentes entonces se repite hasta completar cada fila, y Solo es una Tabla Llamado Evento (Fecha_hora_ev,num_ev,Param_ev,Turno,MFA) esa es la estructura, y no trabajo con claves por k son fechas k se repiten, es por eso k utilizo combinacion de consultas,creo k algunos le llaman tablas virtuales. P.D los JOINS se utlizan dependiendo lo k deseas combinar. al menos eso es lo k creo. ;)
  #6 (permalink)  
Antiguo 26/11/2007, 10:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Duplicado de Filas en una Consulta

Primero, por favor escribe correctamente!

tampoco usas PK??

a ver, no puedes poner fechas en el ON porque son diferentes pero no usas claves porque son fechas que se repiten, no lo entiendo!!

Si haces full join x0.turno=x1.Tx and x0.MFA=x1.MFA y turno y MFA no son PK entonces la consulta parece que esta bien.

Cita:
P.D los JOINS se utlizan dependiendo lo k deseas combinar. al menos eso es lo k creo. ;)
Cita:
Estoy utilizando Full Join, tambien lo comprobe con right,left e inner
correcto, pero sabes lo que quieres???

Que quieres que solo salgan 4748 filas? ¿seguro?
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:49.