Sentencia max tabla vacia

04/10/2008 - 01:38 por Ricardo Uribe Zegarra | Informe spam
Hola grupo, tengo una gran duda.

Tengo una tabla vacia, a la cual le hago una sentencia.
SELECT @Codigo = CASE WHEN MAX(CodigoArticuloCompuesto) = NULL THEN 1
ELSE MAX(CodigoArticuloCompuesto) END + 1
FROM ArticuloCompuesto

Con esto genero un codigo correlativo para mis articulos. El problema es que
no me devuelve nada.

Probando utilice estas sentencias.
SELECT CASE WHEN MAX(codigoarticulocompuesto) <> NULL THEN0 else 1 end
from articulocompuesto

SELECT CASE WHEN MAX(codigoarticulocompuesto) = NULL THEN 0 else 1 end
from articulocompuesto

lo raro es que las 2 sentencias me devuelven 1.

Si alguien me puede explicar que tipo de resultado devuelve max cuando se
usa en una
tabla vacia.

Muchas gracias.
 

Leer las respuestas

#1 Pedro
04/10/2008 - 02:25 | Informe spam
Usa la funcion ISNULL():

Select IsNull(Max(...), 1) from ...




"Ricardo Uribe Zegarra" escribió en el mensaje
news:
Hola grupo, tengo una gran duda.

Tengo una tabla vacia, a la cual le hago una sentencia.
SELECT @Codigo = CASE WHEN MAX(CodigoArticuloCompuesto) = NULL THEN 1
ELSE MAX(CodigoArticuloCompuesto) END + 1
FROM ArticuloCompuesto

Con esto genero un codigo correlativo para mis articulos. El problema es
que
no me devuelve nada.

Probando utilice estas sentencias.
SELECT CASE WHEN MAX(codigoarticulocompuesto) <> NULL THEN0 else 1 end
from articulocompuesto

SELECT CASE WHEN MAX(codigoarticulocompuesto) = NULL THEN 0 else 1 end
from articulocompuesto

lo raro es que las 2 sentencias me devuelven 1.

Si alguien me puede explicar que tipo de resultado devuelve max cuando se
usa en una
tabla vacia.

Muchas gracias.




Preguntas similares