sql en foxpro
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.
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.
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
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
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
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