Comparar registros de dos tablas iguales

Tengo dos tablas iguales clientes y dos tablas iguales de reparto en las primeras existen los  campos cedula ,codigo  y otros tantos menos relevantes y en las segundas existe el campo codigo, necesito unirlas 4 tablas en una sola de la siguiente manera
select clienterep1.codigo AS codigo1, clienterep1.papell as papell1, clienterep1.sapell as sapell1, clienterep1.nombre as nombre1, clienterep1.ndocumto as documento1, clienterep1.clase as clase1, clienterep1.direpar as dire1, clienterep1.zonarp as zona1,clienterep2.codigo AS codigo2,clienterep2.papell as papell2, clienterep2.sapell as sapell2, clienterep2.nombre as nombre2, clienterep2.ndocumto as documento2, clienterep2.clase as clase2, clienterep2.direpar as dire2, clienterep2.zonarp as zona2,reparto1.fecha as fecha1, reparto1.cantidad as cantidad1, reparto2.fecha as fecha2, reparto2.cantidad as cantidad2 from clienterep1, clienterep2,reparto1,reparto2 WHERE clienterep1.ndocumto = clienterep2.ndocumto and clienterep1.clase = clienterep2.clase and reparto1.fecha = thisform.text1.value and reparto2.fecha = thisform.text1.value and clienterep1.clase = thisform.COMBO1.value and reparto1.codigo = clienterep1.codigo and reparto2.codigo = clienterep2.codigo INTO CURSOR temp
esto me toma los resgistro que tengan cedula igual en las tablas clienterep peo que hago con los registros que solo se encuentran en una de las tablas???
Como hago para buscarlos registros que falten e incluirlos en esta nueva tabla

1 respuesta

Respuesta
1
Más líneas, menos código...
Intenta algo similar a:
Select clienterep1
Go Top
Do While !Eof()
   Select temp
   Seek codigo
   If Eof()
      Append Blank
      Replace temp.codigo With clienterep1.codigo
   EndIf
   Replace temp.papell1 With clienterep1.papell, temp.sapell1 With clienterep1.sapell, ;
      nombre1 With clienterep1.nombre, documento1 With clienterep1.ndocumto, ;
      clase1 With clienterep1.clase, dire1 With clienterep1.direpar, ;
      zona1 With clienterep1.zonarp
      Select clienterep1
   Skip
EndDo
Select clienterep2
Go Top
Do While !Eof()
   Select temp
   Seek codigo
   If Eof()
      Append Blank
      Replace temp.codigo With clienterep2.codigo
   EndIf
   Replace temp.papell2 With clienterep2.papell, temp.sapell2 With clienterep2.sapell, ;
      nombre2 With clienterep2.nombre, documento2 With clienterep2.ndocumto, ;
      clase2 With clienterep2.clase, dire2 With clienterep2.direpar, ;
      zona2 With clienterep2.zonarp
   Select clienterep2
   Skip
EndDo
Select reparto1
Go Top
Do While !Eof()
   Select temp
   Seek codigo
   If Eof()
      Append Blank
      Replace temp.codigo With reparto1.codigo
   EndIf
   Replace temp.fecha1 With reparto1.fecha, cantidad1 With reparto1.cantidad
   Select reparto1
   Skip
EndDo
Select reparto1
Go Top
Do While !Eof()
   Select temp
   Seek codigo
   If Eof()
      Append Blank
      Replace temp.codigo With reparto2.codigo
   EndIf
   Replace temp.fecha2 With reparto2.fecha, cantidad2 With reparto2.cantidad
   Select reparto1
   Skip
EndDo
Disculpa la demora... podrías por favor explicarme que haces allí en es efragmento de código
En la tabla temp se van guardando los datos de las tablas clienterep1, clienterep2, reparto1 y reparto2.
¿Al fnalizar este código le puedo dar un copy a una tabla para imprimir?
O puedes usar la tabla temp directamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas