[RESUELTO] Valor de un campo según una condición

Discute sobre las herramientas de la base de datos
Responder
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

[RESUELTO] Valor de un campo según una condición

Mensaje por jopicach »

Hola,

Estoy intentando sin fortuna hacer lo siguiente: Quiero hacer una tabla con un campo "horas" donde se ponen el número de horas de un curso y en otro campo "puntos" donde se tienen que reflejar los puntos que le corresponden según las horas que hemos puesto en el campo horas.

ejem. si el curso está entre 1 y 5 horas que el valor de puntos sea 0,10
si el curso está entre 6 y 10 horas que el valor de puntos sea 0,20 y así sucesivamente para luego poder sumar todos los puntos de los cursos.
Lo que no logro hacer es que si en un momento dado el valor de los cursos varía (ejem. el valor de el curso que está entre 1 y 5 horas pasa a valer 0,05 actualice todos los valores que están en esa franja y ponerle un tope, que si la suma de los cursos es 5 y el máximo que se puede valorar es 4, que en un campo donde se hayan sumado todos los puntos figure ese tope, 4)

He buscado en el foro, pero no he podido adaptar lo que he encontrado en CamposCalculados y GESTFORMULA.

Gracias.
Última edición por jopicach el Lun Ene 30, 2017 9:43 pm, editado 1 vez en total.
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Valor de un campo según una condición

Mensaje por RMG »

Hola,

Algo como esto te puede ayudar, es un campo calculado en una consulta, no en una tabla.. Puedes poner más condiciones con WHEN.

CASE WHEN "curso" > 1 AND "curso" < 5 THEN 0,10 WHEN "curso" > 5 AND "curso" < 11 THEN 0,20 ELSE 0 END

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Valor de un campo según una condición

Mensaje por jopicach »

Hola de nuevo,

Muchas gracias. Tu solución me parece fenomenal, pero no logro aplicarla, no se donde está el error, en la consulta me dice que la columna es desconocida. Adjunto el archivo.

Saludos.
Adjuntos
Puntos.zip
(3.53 KiB) Descargado 118 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Valor de un campo según una condición

Mensaje por RMG »

Hola,

Tu BD no contiene ninguna tabla.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Valor de un campo según una condición

Mensaje por jopicach »

Hola,

Tiene una, "pruebapuntos y una consulta "cursos". La adjunto de nuevo

Saludos.
Adjuntos
Puntos.zip
(3.54 KiB) Descargado 116 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: Valor de un campo según una condición

Mensaje por jopicach »

Hola de nuevo,

He dado con la tecla. Se ha solucionado al poner un punto en vez de una coma en los decimales de la instrucción que facilitó RMG. Me ha quedado de la siguiente manera y funciona perfectamente (lo adjunto en una prueba)

CASE WHEN "curso" > 1 AND "curso" < 5 THEN 0.10 WHEN "curso" > 5 AND "curso" < 11 THEN 0.20 ELSE 0 END

Muchas gracias por todo y un saludo.
Adjuntos
Puntos--.7z
(3.6 KiB) Descargado 124 veces
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: [RESUELTO] Valor de un campo según una condición

Mensaje por RMG »

Hola,

Recuerda que también puedes asignar el valor de un campo. Supon que cargas los campos curso y puntos

CASE WHEN "curso" > 0 THEN "puntos" ELSE 0 END

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
jopicach
Mensajes: 143
Registrado: Dom Nov 20, 2016 3:24 pm
Ubicación: Almería (España)

Re: [RESUELTO] Valor de un campo según una condición

Mensaje por jopicach »

Hola,

Perfecto. Muchas gracias de nuevo

Saludos
LibreOffice versión: 7.0.5.2 (x64) - Windows 10 Pro 64 bits
Responder