![]() |
Select Max siempre devuelve valor
Hola amigos, tengo el siguiente problema :
hago una consulta tal que asi 'Select max(Num) where Year(Fecha) = :Año; El problema es que si no existe ninguna fila con el año pasado como parametro aun asi la consulta me devuelve un registro vacio y no puedo controlar lo que hacer con la devolucion. He probado a usar IsEmpty pero me dice que hay un registro aunque este vacio, ya que mi codigo hara una cosa u otra dependiendo de si existe o no un valor. He encontrado una solucion, pero me parece un poco chapuza y es primero hacer una consulta para saber si hay algun registro sql:='Select * from Tabla where Year(Fecha)= :Año;' y despues si hay hacer la consulta anterior (la del max). Espero sus opiniones y quiero creer que existe algo mas sencillo que eso. Saludos y Gracias. |
Hola, yo suelo ponerle un alias al campo de suma:
"select sum(importe) as IMP from tabla" y hacer lo siguiente: Código:
if (not(CalTotIMP.FieldValues['IMP'] = null)) then Espero que te sirva |
Gracias por la respuesta, me gusta y me parece mas elegante que tener que hacer 2 consultas.
|
Todos las consultas con funciones de grupo, siempre devuelven algún valor, yo no veo mas elegante hacer dos consultas cuando puedes resolverlo en un simple paso desde el lado del cliente.
Código:
Query1.Fields[0].IsNull |
La franja horaria es GMT +2. Ahora son las 23:42:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi