Cita:
Empezado por Delphius
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
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);
showmessage(Query1.fields[0].AsString);
Saluditos