sql en foxpro

cuatli
23 de Junio del 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.

Manuel
23 de Junio del 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

Cuatli
23 de Junio del 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