![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
No sabria decirte si estas haciendo algo mal, me da que el '%' no esta funcionando; Prueba tambien de no llamar por el alias en el HAVING, pon la expresion completa.
si no, una alternativa es que , a tu recordset le asignes el codigo sql en runTime, le pasas o no la clausula where, ... , como es esto? Ejemplo: Código:
My_Query.sql.Add:= 'SELECT .....' ; My_Query.sql.Add:= ' FROM .....' ; if(agrego_Condicion_al_SQL) then My_Query.sql.Add:= ' WHERE ....'; if(agrego_Orden_al_SQL) then My_Query.sql.Add:= ' GROUP BY ...' ; if(agrego_Cond_Extra_al_SQL) then My_Query.sql.Add:= ' HAVING ....'; My_Query.sql.Add:= ';' ; |
|
#2
|
|||
|
|||
|
Problema resuelto...
Estimado Juan:
Ante todo gracias por el aporte. Estuve investigando un poco y la respuesta para mi problema son la Subconsultas... En mi caso, tengo que meter el Recordset1 como tabla del Recorsdset2. Este sería el código de mi Recordset2 (en azul la consulta y en rojo la subconsulta): SELECT SUM(totaldebe) AS grantotaldebe, SUM(totalhaber) AS grantotalhaber, (SUM(totalhaber)-SUM(totaldebe)) AS grantotalsaldo FROM (SELECT ctacte.anoperiodo, ctacte.mesperiodo, socios.idsocio, socios.apellido, socios.nombre, SUM(CASE WHEN IsNull(ctacte.debe) THEN 0 ELSE ctacte.debe END) AS totaldebe, SUM(CASE WHEN IsNull(ctacte.haber) THEN 0 ELSE ctacte.haber END) AS totalhaber, (SUM(CASE WHEN IsNull(ctacte.haber) THEN 0 ELSE ctacte.haber END) - SUM(CASE WHEN IsNull(ctacte.debe) THEN 0 ELSE ctacte.debe END)) AS saldo FROM ctacte RIGHT OUTER JOIN socios ON (ctacte.idsocio = socios.idsocio) WHERE ctacte.mesperiodo LIKE MMColParam4 AND ctacte.anoperiodo LIKE MMColParam5 GROUP BY socios.idsocio HAVING saldo < 0 ORDER BY apellido, nombre) AS subtotales Saludos! RataASP |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|