FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿se puede hacer esto en una instrucción sql?
Un saludo para todos.
necesito seleccionar una serie de registros con tres campos: NOMBRE, FECHA VENCIMIENTO, IMPORTE)de una tabla (firebird) que cumplan dos condiciones: 1.- que los registros seleccionados estén entre un rango de fechas (FECHA VENCIMIENTO, es fácil) 2.- que la suma del campo IMPORTE de los registros seleccionados, no supere un importe determinado (vendrá de un tedit). ¿Es posible hacerlo con una instrucción sql o tendré que recorrer la tabla? Estoy utilizando firebird y dbexpres. Gracias por adelantado. |
#2
|
||||
|
||||
Claro, para filtrar un agregado como SUM utiliza la clausula HAVING:
https://www.w3schools.com/sql/sql_having.asp
__________________
El malabarista. |
#3
|
|||
|
|||
Y como seria? porque esto me da error:
Invalid token. Dynamic SQL Error. SQL error code = -104. Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause). lo estoy probando con IBEXPERT antes de hacerlo con DELPHI |
#4
|
||||
|
||||
te falta agregar el campo Nombre en el group Group by nombre, fechavto
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
|||
|
|||
Cita:
* ¿Una fila por cada uno de los recibos del cliente ? * ¿Una única fila con la suma total de los recibos de cada cliente por día? Porque dependiendo de lo que necesites realmente, el sql cambiará un poco. |
#6
|
||||
|
||||
Cita:
plantea mejor tu consulta, si puedes pon un ejemplo con datos y los resultados que buscas
__________________
Dulce Regalo que Satanas manda para mi..... |
#7
|
|||
|
|||
Efectivamente, quiero que me salga una linea (registro) por cada fecha de vencimiento (con su nombre, su fecha de vencimiento y su importe) pero hasta que la suma de los importes seleccionados sea menor o igual que una cantidad determinada (en delphi vendrá de un tedit).
ejemplo: Suma de importes : 100€ CLIENTE FECHA IMPORTE cliente 1 21-09-2017 40 cliente 2 22-09-2017 30 cliente 3 23-09-2017 20 cliente 4 23-09-2017 30 cliente 5 23-09-2017 20 El sql debe seleccionar cliente1,cliente2 y cliente3, porque si seleccionamos cliente 4, ya sobrepasamos el importe máximo que tenemos que seleccionar Perdón si no he sabido expresarme mejor. Y sobretodo gracias por vuestro tiempo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Tu mac puede hacer esto????? | AzidRain | Humor | 10 | 24-11-2010 00:16:25 |
Se puede hacer esto? | Migpal | OOP | 3 | 22-10-2005 20:02:30 |
Se puede hacer esto ??????? | AMINOA2R | Firebird e Interbase | 2 | 21-10-2005 17:50:59 |
Se puede hacer esto en POO? | adlfv | OOP | 8 | 26-09-2005 16:28:55 |
|