Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Visual FoxPro > sql en foxpro
-Foros de debate

Visual FoxPro
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

sql en foxpro
Enviado por cuatli el día 21 de junio de 2006

Hola:
Tengo en mi consulta de sql el IIF, a la hora de ejecutrarse solo compara la primera fila de la tabla y las demas las ignora. como puedo hacerle para que compare cada fila de la tabla con IIF. si alguien sabe la respuesta le agradeceria que me ayudara.

SELECT f AS h, d AS k,IIF(dir1.h="P",F,5)AS z, IIF(dir1.h="P",'GASTO DIRECTO','DIRECTO CUOTAS') AS ai, g AS al, a AS av, h AS bj FROM directo1 INTO TABLE tblFactura
el iif me devuelve un caracter como resultado
Norma Urrutia
Guadalajara, Jal. Mex.

 
Re: sql en foxpro
Enviado por Manuel el día 21 de junio de 2006

Debes establecer si realmente hay un campo con que podamos enlazar con dicha tabla dir1. De ser así, debes agregar un WHERE para que dir1 mueva el puntero según el campo de enlace con directo1. Algo así:
SELE f AS h,;
d AS k,;
IIF(dir1.h="P",F,5)AS z,;
IIF(dir1.h="P",'GASTO DIRECTO','DIRECTO CUOTAS') AS ai,;
g AS al,;
a AS av,;
h AS bj;
FROM directo1,;
dir1;
WHER directo1.coddir1=dir1.coddir1;
INTO TABL tblFactura

 
Re: Re: sql en foxpro
Enviado por Cuatli el día 23 de junio de 2006

Muchas gracias por tu ayuda, ya vi donde tenia mi error.
ahora quiero usar un group by pero cuando lo ejecuto me manda un mesaje diciendo \"GROUP BY clause is missing or invalid\" necesito hacer la suma del campo A y agruparla por lo campos que aparecen despues del group by.

SELECT dir1.F AS H,dir1.D AS K,IIF(dir1.H=\"P\",dir1.F,dir1.F+10) AS Z, IIF(dir1.H=\"P\",\'GASTO DIRECTO\',\'DIRECTO CUOTAS\') ;
AS AI, dir1.G AS AL, SUM(dir1.A) AS AV, dir1.H AS BJ FROM directo1 AS dir1 GROUP BY dir1.D, dir1.G, dir1.F INTO TABLE tblDirectoP
les agradeceria mucho su ayuda.
Norma Judith

 
Re: Re: Re: sql en foxpro
Enviado por Manuel el día 23 de junio de 2006

Logra la suma de tus campos para los que deseas agrupar y forma una columna llamada miGrupo y agrupas por esa columna. Pruébalo así:
SELECT dir1.F AS H,;
dir1.D AS K,;
IIF(dir1.H="P",dir1.F,dir1.F+10) AS Z,;
IIF(dir1.H="P",'GASTO DIRECTO','DIRECTO CUOTAS') AS AI,;
dir1.G AS AL,;
SUM(dir1.A) AS AV,;
dir1.H AS BJ,;
dir1.D+dir1.G+dir1.F as miGrupo;
FROM directo1 AS dir1;
GROUP BY miGrupo;
INTO TABLE tblDirectoP

 




Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network