LEFT OUTER JOIN

12/04/2005 - 22:59 por Lic. Julio Cesar Velasco Gomez | Informe spam
Hola a todos!! Tengo una duda: tengo 2 tablas donde en la primera tengo 2000
registro y en la segunda 500, quiero hacer un select de tal manera que llene
un dato que hace falta en la primera y que POSIBLEMENTE este en la segunda,
usando un campo comun, mi problema es que no se porque me regresa aprox 2300
registros. Segun yo con un LEFT OUTER JOIN deberian estar exactamente los
2000 de la primera tabla, y los registros que coincidan con su campo lleno,
los que no coincidan pues en NULL. Haciendo pruebas he visto que con el
DISTINCT es bastante mas certero, teniendo como 10 o 12 registros de mas, lo
que no capto es porque tengo que usar el DISTINCT y aun asi no me regresa
mis 2000 originales.


SELECT DISTINCT T1.*,ACTUAL.OCUPADO AS OCUPACIO;
FROM T1 LEFT OUTER JOIN ACTUAL;
ON T1.REGISTRO=¬TUAL.REGISTRO;
INTO TABLE SYS(2023)+'\t3' .

Preguntas similare

Leer las respuestas

#1 Ricardo Passians
13/04/2005 - 01:40 | Informe spam
Debes chequear si el campo REGISTRO es único en ambas tablas, es decir, que
no se repite en ninguna.


Mostrar la cita
2000
Mostrar la cita
llene
Mostrar la cita
segunda,
Mostrar la cita
2300
Mostrar la cita
lleno,
Mostrar la cita
lo
Mostrar la cita
#2 Luis María Guayán
13/04/2005 - 03:38 | Informe spam
Como te indica Ricardo, tienes registros repetidos en la tabla Actual.

Quizás con otra cóndición el el LEFT JOIN ... ON puedas solucionar tu problema


Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos



"Ricardo Passians" escribió en el mensaje
news:
Mostrar la cita
#3 Lic. Julio Cesar Velasco Gomez
13/04/2005 - 15:35 | Informe spam
De hecho en la que se repiten es en la primera T1, ya que es un
historico, en la de actual, solo se repiten si estan en blanco, ya que es un
dato que puede o no estar.

"Ricardo Passians" escribió en el mensaje
news:
Mostrar la cita
que
Mostrar la cita
los
Mostrar la cita
mas,
Mostrar la cita
regresa
Mostrar la cita
#4 Ricardo Passians
15/04/2005 - 02:20 | Informe spam
Pues entonces es raro. No lo debería hacer. En este caso, si la tabla de la
derecha tiene registros repetidos es que debería producir mas resultados que
los registros de la tabla de la izquierda.
Si pudieras empaquetarlas y mandarnos las dos tablas de ejemplo o al menos
una muestra con pocos registros para poder ayudarte mejor.

Saludos



"Lic. Julio Cesar Velasco Gomez" wrote in
message news:
Mostrar la cita
un
Mostrar la cita
tengo
Mostrar la cita
aprox
Mostrar la cita
el
Mostrar la cita
#5 Lic. Julio Cesar Velasco Gomez
18/04/2005 - 15:05 | Informe spam
De hecho gracias a tu ultimo comentario cai en la cuenta de lo que ocurria,
ya que en la tabla de la derecha aunque no deberia, tenia registros
repetidos, algunos en blanco, entonces lo que hice fue hacer un select
previo sobre esa tabla donde no hubiera registros repetidos, y parece que
esa fue la solucion.

Gracias por su atencion y Saludos!!


"Ricardo Passians" escribió en el mensaje
news:
Mostrar la cita
la
Mostrar la cita
que
Mostrar la cita
in
Mostrar la cita
es
Mostrar la cita
decir,
Mostrar la cita
que
Mostrar la cita
exactamente
Mostrar la cita
campo
Mostrar la cita
Ads by Google
Search Busqueda sugerida