Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Crear Consulta en VFP
Experto: victoramf
Valoración: 5
Fecha: 04/06/2008


Crear Consulta en VFP
Hola buen día experto. En esta oportunidad te agradeceré me ayudes a crear una consulta en VFP, pero que en lugar que me muestre entre dos tablas, los registros en común, me muestre los registros que no coinciden en ambas tablas, no estoy segura si tenga que ver con usar INNER JOIN o si existirá alguna cláusula especial para mostrar, lo registros que no coninciden en ambas tablas. En espera de tu respuesta. Muchísimas gracias por tu tiempo.    

Crear Consulta en VFP
Puedes crear una rutina para hacerlo en forma "manual", suponiendo que ambas tablas tiene la misma estructura: [i]Select tabla1 Go Top Do While !Eof()      Select tabla2      Seek tabla1.campoID      If Eof()           Select resultado           Append Blank           Replace resultado.campoID With tabla1.campoID, ;                resultado.campo1 With tabla1.campo1                resultado.campo2 With tabla1.campo2                resultado.campo3 With tabla1.campo3      EndIf      Select tabla1      Skip EndDo Select tabla2 Go Top Do While !Eof()      Select tabla1      Seek tabla2.campoID      If Eof()          Select resultado          Append Blank          Replace resultado.campoID With tabla2.campoID, ;               resultado.campo1 With tabla2.campo1               resultado.campo2 With tabla2.campo2               resultado.campo3 With tabla2.campo3      EndIf      Select tabla2      Skip EndDo [/i]

Crear Consulta en VFP
Muchas gracias por la pronta respuesta experto. Pero fijate que yo he hecho una pequeña consulta con dos tablas, la cual te muestro a continuación: SELECT Facturacion_mayo.factura_det as factura_det, Factu_enca_mayo.factura_enca as factura_enca,; Facturacion_mayo.total_det as total_det, Factu_enca_mayo.total_enca as total_enca,; Facturacion_mayo.suc_det as suc_det, Factu_enca_mayo.suc_enca as suc_enca; FROM Factu_enca_mayo inner JOIN Facturacion_mayo; ON Factu_enca_mayo.factura_enca = facturacion_mayo.factura_det; ORDER BY Facturacion_mayo.suc_det, Factu_enca_mayo.suc_enca; WHERE Factu_enca_mayo.factura_enca = Facturacion_mayo.factura_det; AND Factu_enca_mayo.suc_enca = Facturacion_mayo.suc_det; INTO table c:\Factu_mayo  Con esto lo que hago es ver los registros que tienen en común ambas tablas, ahora mi pregunta es, qué debería modificar en la consulta que te indico, como para que se muestren los registros que no coinciden entre las tablas. Gracias por tu tiempo.    

Crear Consulta en VFP
¿Las tablas son nativas de VFP?

Crear Consulta en VFP
Si experto, son de VFP *.dbf. Saludos.

Crear Consulta en VFP
Si las tablas son nativas ¿Porque usar instrucciones Select-SQL? aunque desde mi punto de vista no es lo mejor: SELECT Facturacion_mayo.factura_det as factura_det, ; Factu_enca_mayo.factura_enca as factura_enca, ; Facturacion_mayo.total_det as total_det, ; Factu_enca_mayo.total_enca as total_enca, ; Facturacion_mayo.suc_det as suc_det, ; Factu_enca_mayo.suc_enca as suc_enca ; FROM Factu_enca_mayo,Facturacion_mayo ; Where Facturacion_mayo.factura_det Not In (SELECT Facturacion_mayo.factura_det as factura_det, Factu_enca_mayo.factura_enca as factura_enca,; Facturacion_mayo.total_det as total_det, Factu_enca_mayo.total_enca as total_enca,; Facturacion_mayo.suc_det as suc_det, Factu_enca_mayo.suc_enca as suc_enca; FROM Factu_enca_mayo inner JOIN Facturacion_mayo; ON Factu_enca_mayo.factura_enca = facturacion_mayo.factura_det; ORDER BY Facturacion_mayo.suc_det, Factu_enca_mayo.suc_enca; WHERE Factu_enca_mayo.factura_enca = Facturacion_mayo.factura_det; AND Factu_enca_mayo.suc_enca = Facturacion_mayo.suc_det) And ; Factu_enca_mayo.factura_enca Not In (SELECT Facturacion_mayo.factura_det as factura_det, Factu_enca_mayo.factura_enca as factura_enca,; Facturacion_mayo.total_det as total_det, Factu_enca_mayo.total_enca as total_enca,; Facturacion_mayo.suc_det as suc_det, Factu_enca_mayo.suc_enca as suc_enca; FROM Factu_enca_mayo inner JOIN Facturacion_mayo; ON Factu_enca_mayo.factura_enca = facturacion_mayo.factura_det; ORDER BY Facturacion_mayo.suc_det, Factu_enca_mayo.suc_enca; WHERE Factu_enca_mayo.factura_enca = Facturacion_mayo.factura_det; AND Factu_enca_mayo.suc_enca = Facturacion_mayo.suc_det) ; INTO table c:\Factu_mayo

Pregunta finalizada. Valoración: 5
Muchas gracias experto, me ha servido de mucho.


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/respuestas/1855486/crear-consulta-en-vfp