SELECT CASE WHEN ISNULL(MAX(id)) = 0 THEN 1 ELSE MAX(id)+1 END AS id FROM adop
pero es me devuelve solo un 1 y ya tengo mas de 5 ids, y el mas grande es como 4 , no se supone que me deveira de dar 5?
alguien sabe como?
saludos

| |||
![]() Bueno, me imagino que ya han de saber de que estoy hablando.... yo se hacerlo con select id from tabla order by id desc y luego le pongo un ++a la variable, pero alguien me habia dicho que era mas afacil de otra manera. algo asi SELECT CASE WHEN ISNULL(MAX(id)) = 0 THEN 1 ELSE MAX(id)+1 END AS id FROM adop pero es me devuelve solo un 1 y ya tengo mas de 5 ids, y el mas grande es como 4 , no se supone que me deveira de dar 5? alguien sabe como? saludos ![]() |
| ||||
Mas facil. Select IsNull(Max(Id),0)+1) As MaxId From adop. Esto es, ke de todos modos si es Null, te da Cero, y al ser Cero le suma 1, asi ya tienes el numero ke sigue, en kaso de ke no sea cero, por ejemplo, sea 5 el maximo, le va a sumar 1, y ya tienes 6. Asi ya no usas case ni else
__________________ [email protected] |
| ||||
Si te interesa para generar el valor que vas a insertar mejor utiliza el tipo Autonumerico/Identity, que se encarga de manejar todo eso automáticamente.
__________________ Friedrich Nietzsche |