Ver Mensaje Individual
  #6  
Antiguo 05-01-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
¿ Cuando id_tecnico no sea nulo que resultado esperas en tu consulta ?. Puesto que tu case no lo contempla, por lo tanto no va a dar ningún resultado.

En tu consulta solo devuelves un resultado cuando id_tecnico es nulo. Si esto no es lo que realmente quieres, entonces tienes que añadir un else a la construcción case.

NOTA: Por cierto, ¿ esta consulta funciona de verdad ?. Esto de poner un campo en el resultado y una función de agregado sobre ese mismo campo, no lo veo nada claro. Una subconsulta para obtener la función de agregado (max) sería mucho mejor, en mi opinión.

¿ Esto es lo que quieres ?
Código SQL [-]
select
  case when id_tecnico is null then
    (select coalesce(max(id_tecnico),1) from staff_tenico)
  else
    id_tecnico
  end as chave
from staff_tecnico

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita