FoxPro/Visual FoxPro - Esto esta mas complicado ??? No se que hacer...

 
Vista:

Esto esta mas complicado ??? No se que hacer...

Publicado por Francisco (41 intervenciones) el 29/03/2004 22:49:33
Gracias a todas las personas que me ayudan...
Ya se me complico, No se si explicares o mejor les presento lo siguiente:

Select Maeuni.unidad,Maeref.descrip,Estact.descrip,Unipro.descrip,;
Tabubi.descrip;
From Maeuni Inner Join Maeref;
Inner Join Estact;
Inner Join Unipro;
Inner Join Tabubi;
On Maeuni.ubic_fis = Tabubi.ubic_fis;
on Maeuni.propiedad=unipro.propiedad;
on Maeuni.Est_activ=Estact.Est_activ;
on maeuni.refer = Maeref.refer where maeuni.cliente=2794

La idea es que en la tabla Maeuni están los registros del cliente 2794, lo que necesito es que si maeuni.refer es igual a maeref.refer que me despliegue en el query el contenido del campo Descrip de la tabla Maeref y asi tambien con las demas tablas con Estact, Tabubi, Unipro; todas se relacionan con Maeuni. El problema es que no me funciona y ya llevo varios dias y no se que hacer.

Si alguien me ayuda porfa, le estare agradecido. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Esto esta mas complicado ??? No se que hacer...

Publicado por saul (362 intervenciones) el 29/03/2004 22:56:59
Hola amigo Francisco.. fijate que he leeido que inner join, es la forma mas efectiva de relacionar las talblar para hacer consultas SQL .. pero la verdad ami nunca me a funcionado bien..(no se que error tenga al usuarlo).. pero lo que te puedeo desir es que yo utilizo el WHERE y para mi 1000 veces mejor ..el codigo te quedaria asi..

Select Maeuni.unidad,Maeref.descrip,Estact.descrip,Unipro.descrip,;
Tabubi.descrip;
From Maeuni,Maeref; Estact, Unipro, Tabubi;
where Maeuni.ubic_fis = Tabubi.ubic_fis;
and Maeuni.propiedad=unipro.propiedad;
and Maeuni.Est_activ=Estact.Est_activ;
and maeuni.refer = Maeref.refer;
and maeuni.cliente=2794 ;
into cursor tu_cursor

Esto te digo que si funciona 100%

Suerte..

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esto esta mas complicado ??? No se que hacer...

Publicado por Plinio (7841 intervenciones) el 30/03/2004 03:01:53
Si por si acaso estas haciendo comparaciones entre campos tipo character debes de tomar en cuenta que a la hora de comparar estos no son preciso, cualquier espacio entre ellos no garantiza nada.
Si son character debes de ponenlo asi:
ALLTRIM(tabla1.campo) == ALLTRIM(tabla2.campo).

Algo que me funciona mucho en algunos Select que pueden ser complicados es ir comparando condicion por condicion, es decir prueba primero con el primer Join, si funciona sigue con el siguiente y asi sucecivamente hasta que encuentres el problema


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esto esta mas complicado ??? No se que hacer...

Publicado por CeCar (5 intervenciones) el 30/03/2004 22:16:12
Francisco, la verdad que no existe problema alguno, si me corrió, la diferencia es que las tablas las puse dentro de una DATABASE (.DBC) que la llame maestro, te envío el código.

SELECT Maeuni.unidad, Maeref.descrip, Estract_a.descrip, Unipro.descrip,;
Tabuni.descrip;
FROM maestro!maeuni INNER JOIN maestro!maeref;
INNER JOIN maestro!estract Estract_a;
INNER JOIN maestro!unipro;
INNER JOIN maestro!tabuni ;
ON Maeuni.ubic_fis = Tabuni.ubic_fis ;
ON Maeuni.propiedad = Unipro.propiedad ;
ON Maeuni.est_activ = Estract_a.est_activ ;
ON Maeuni.refer = Maeref.refer;
WHERE Maeuni.cliente = 2794

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar