how can I return a different value according to the results of a query?

2

I have a query that in the sex part I throw it in Boolean, but I want that when I return 0 I'm a girl and when I'm 1 I'm a boy.

SELECT 
            Persona.Id,
            Persona.Nombre1 AS 'Primer Nombre',
            Persona.Nombre2 AS 'Segundo Nombre',
            Persona.Apellido1 AS 'Primer Apellido',
            Persona.Apellido2 AS 'Segundo Apellido',
            Persona.Sexo,
            Persona.Fecha_nacimiento AS 'Fecha Nacimiento',
            Persona.Tipo_Doc_Identificacion AS 'Docuemnto Identificacion',
            Persona.Numero_Documento as 'Numero Documento',
            Persona.Empresa,
            Persona.Cargo,
            Ocupacion.Nombre as Ocupacion,
            Provincia.Nombre as Provincia,
            Municipio.Nombre as Municipio,
            Barrio.Nombre as Barrio,
            Persona.Numero_casa As 'Numero Casa',
            Persona.Telefono_trabajo AS 'Telefono Trabajo',
            Persona.Telefono_casa AS 'Telefono Casa',
            Persona.Telefono_personal AS 'Telefono Personal',
            Persona.Email

        FROM
            Persona
            left join
            Ocupacion ON persona.Ocupacion = Ocupacion.Id
            left join
            Provincia ON persona.Provincia = Provincia.Id
            left join
            Municipio ON persona.Municipio = Municipio.Id
            left join 
            Barrio ON persona.Barrio = Barrio.Id where Eliminado = 0;
    
asked by Diogenes Monegro 19.07.2018 в 15:18
source

2 answers

0

Hello try this query:

SELECT 
            Persona.Id,
            Persona.Nombre1 AS 'Primer Nombre',
            Persona.Nombre2 AS 'Segundo Nombre',
            Persona.Apellido1 AS 'Primer Apellido',
            Persona.Apellido2 AS 'Segundo Apellido',
            if(Persona.Sexo=0,'F','M') AS 'Genero',
            Persona.Fecha_nacimiento AS 'Fecha Nacimiento',
            Persona.Tipo_Doc_Identificacion AS 'Docuemnto Identificacion',
            Persona.Numero_Documento as 'Numero Documento',
            Persona.Empresa,
            Persona.Cargo,
            Ocupacion.Nombre as Ocupacion,
            Provincia.Nombre as Provincia,
            Municipio.Nombre as Municipio,
            Barrio.Nombre as Barrio,
            Persona.Numero_casa As 'Numero Casa',
            Persona.Telefono_trabajo AS 'Telefono Trabajo',
            Persona.Telefono_casa AS 'Telefono Casa',
            Persona.Telefono_personal AS 'Telefono Personal',
            Persona.Email

FROM
            Persona
            left join
            Ocupacion ON persona.Ocupacion = Ocupacion.Id
            left join
            Provincia ON persona.Provincia = Provincia.Id
            left join
            Municipio ON persona.Municipio = Municipio.Id
            left join 
            Barrio ON persona.Barrio = Barrio.Id where Eliminado = 0;
    
answered by 19.07.2018 / 15:43
source
3

You only have to add to your query, a condition on that field so that it returns another value.

For that we can use if, that in this case, as it is a field that can take only two values reaches us.

Change the line in your select that says:

Persona.Sexo

for

if(Persona.Sexo=0,'femenino','masculino') as sexo
    
answered by 19.07.2018 в 15:27