FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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 //Trabajo con el valor devuelto else //Trabajo como valor devuelto cero Espero que te sirva |
#3
|
|||
|
|||
Gracias por la respuesta, me gusta y me parece mas elegante que tener que hacer 2 consultas.
|
#4
|
||||
|
||||
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
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 06-10-2003 a las 15:59:40. |
|
|
|