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

FoxPro: ver registros en dos tablas

Estas en el tema de FoxPro: ver registros en dos tablas en el foro de Bases de Datos General en Foros del Web. Primero que nada, quiero mencionar que estoy aprendiendo bases de datos, y lo estoy aprendiendo muy a la brava (necesito realizar unas tareas con bases ...
  #1 (permalink)  
Antiguo 28/12/2009, 16:51
Avatar de antoniog  
Fecha de Ingreso: junio-2006
Mensajes: 118
Antigüedad: 17 años, 10 meses
Puntos: 4
FoxPro: ver registros en dos tablas

Primero que nada, quiero mencionar que estoy aprendiendo bases de datos, y lo estoy aprendiendo muy a la brava (necesito realizar unas tareas con bases de datos y he estado bajandome manuales todo el fin de semana).

Mi problema:
Tengo dos archivos de extension ".dbf" (bases de datos?), y se que tienen las siguientes variables:
El primero tiene Clave_unica, v01,v02
El segundo tiene Duplicado,Clave_unica,V03
Se que hay "registros" (si mi vocabulario esta erroneo, disculpenme, estoy aprendiendo :) ) que estan en ambos archivos.

Mi tarea es: Sacar los datos
Clave_unica,Duplicado, V01, V02, V03 de todos los registros en el segundo archivo y guardarlos en algun lugar (aun no me dicen en que, solo se que tengo quer hacerlo), si es en un archivo dbf, pues mejor (si le doy doble click se abren en FoxPro y los puedo ver como tabla, como Excel...) Es decir, como que completo los datos V01 y V02 que faltan a los registros que estan en el segundo archivo (esos datos que flatn los tengo que buscar en el primer archivo)

Me podrian dar codigo para realizar esto?

De todo el fin de semana apenas llevo esto:
  1. Pongo esto en una ventanita que aparece al abrir FoxPro:
    Código:
    USE c:\datos1.dbf SHARED
    USE "c:\una ruta grandota\datos2.dbf" SHARED
    MODIFY COMMAND
    DO prueba1.prg
    
  2. Si quiero ver todos los registros en el primer archivo con clave unica igual a 1 pongo esto:
    Código:
    SELECT COMERCIO.Clave_unica,COMERCIO.v01,COMERCIO.v02;
        FROM "C:\una ruta grandota\datos2.DBF" COMERCIO;
        WHERE (COMERCIO.CVE_UNICA='1')
    
  3. Si quiero ver todos los registros en el segundo archivo con clave unica igual a 1 pongo esto:
    Código:
    SELECT EMPRESA.Duplicado,EMPRESA.Clave_unica,EMPRESA.V03;
        FROM c:\datos1.DBF 	EMPRESA;
        WHERE (EMPRESA.DUPLICADO='1')
    
Se que esos codigos no tienen mucho que ver con mi problema, pero es que es lo unico que he podido ejecutar en todo el fin de semana.

Queriendo dejar mas claro lo que quiero , pongo un ejemplito ilustrativo:
Datos en el primer archivo (cada registro por renglon, cada dato separado por |):
Clave_unica, v01,v02
a123|1|103
b263|2|846
c189|2|857
d453|2|256
a346|1|901
Datos en el segundo archivo (cada registro por renglon, cada dato separado por |):
Duplicado,Clave_unica,V03
f23|a123|4
g31|d453|2

Ahora, basandome en el segundo archivo, busco todos los registros con clave unica igual y creo la siguiente tabla:
Clave_unica,Duplicado, V01, V02, V03
a123|f23|1|103|4
d453|g31|2|256|2

Ojala con todo lo que he puesto me puedan facilitar un codigo para lo que quiero hacer (despues me pongo a ver porque funciona, pero es que necesito eso ahorita)

De antemano gracias por sus respuesta.

Saludos!
P.D. Ya despues de ver lo de arriba, me podrian decir si tambien es posible saber si hay algun registro en el segundo archivo cuya clave unica no coincide con ninguna del primer archivo? bueno, y mas importante, con que codigo se haria? (para tenerlos en un archivo aparte)
__________________
Mis pininos en blogs: prog en C, cursos
  #2 (permalink)  
Antiguo 29/12/2009, 14:52
Avatar de antoniog  
Fecha de Ingreso: junio-2006
Mensajes: 118
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: FoxPro: ver registros en dos tablas

Hola,

Creo que ya casi lo tengo, pero aun necesito su ayuda.

Para hacer lko que quiero, me sirve esto:

Código:
SELECT EMPRESA.Duplicado,EMPRESA.Clave_unica,COMERCIO.v01,COMERCIO.v02,;
EMPRESA.V03;
FROM COMERCIO INNER JOIN EMPRESA ON COMERCIO.Clave_unica = EMPRESA.Clave_unica;
pero me falta como decirle que COMERCIO lo saque de la primera base de datos y que EMPRESA lo saque de la segunda. Antes lo hacia porque en el FROM ponia eso (por ejemplo):
Código:
FROM "C:\una ruta grandota\datos2.DBF" COMERCIO;
, osea, le indicaba que el archivo de la base de datos lo asociara con COMERCIO y ya tenia acceso a las variables. Como hago eso para que el priemr codigo que puse en este mensaje funcione?

Gracias de antemano!
__________________
Mis pininos en blogs: prog en C, cursos
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 03:36.