Ver Mensaje Individual
  #16  
Antiguo 26-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 24
Caro Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Pues la verdad es que debería funcionar. ¿Probaste sin el AS?
Como he dicho, a riesgo de equivocarme, a lo mejor no se permite nombrar un alias a un campo en un CASE en MySQL.
Con el As o sin el As debería funcionar y si permite mysql poner un alias a un Case.

Cita:
Empezado por Lepe Ver Mensaje
lo que veo "extraño" es que el alias que has usado para el campo es el mismo que el nombre del campo....jo que lioso que soy:

El sql no distingue mayúsculas de minúsculas así que el alias coincide con nombre del campo. Yo también Quitaría el "AS ESTADO"
Yo no lo quitaría porque sin el alias el nombre del campo no va a ser ESTADO sino todo el chorizo del Case y tendría que refreirse a todo eso, conste que esto es hablando de mysql, pero podría utilizar la propiedad Fields para acceder a la posición donde esta el Case.

Tu consulta debería quedar así:

Código Delphi [-]
 Query1.Active := False;
 Query1.SQL.Text := 'SELECT CASE ESTADO WHEN ''1'' THEN ''ATENDIDO'' ELSE ''PENDIENTE'' END AS ESTADO FROM TABLA';
 Query1.Active := True;
 
 Showmessage(Query1.FieldByName('estado').AsString);
 
 //o, si no le pusieras el alias
 
 showmessage(Query1.fields[0].AsString);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita