Página 1 de 1

[RESUELTO] Concatenar valores vacios en una vista

NotaPublicado: Mar Oct 02, 2018 7:52 pm
por Trempat
Buenas,

Des de una vista quiero concatenar los nombres y apellidos de una tabla de la siguiente manera:

SELECT "ID", "Persones"."Nom" || ' ' || "Persones"."Cognom1" || ' ' || "Persones"."Cognom2" FROM "Persones"


Pero en el resultado obtengo campos en blanco en la segunda columna, para los registros que no tienen valor en 'Cognom2'

Como puedo resolver para obtener todos los valores?

Muchas gracias

Re: Concatenar valores vacios en una vista

NotaPublicado: Mié Oct 03, 2018 1:53 pm
por Longi
Buenas!

A veces con una simple búsqueda en este foro ya es suficiente.(para eso se pide que los títulos de los hilos sean lo más concisos y descriptivos posible).
A veces las búsquedas las complemento con google.
Echa un vistazo a esto:

https://forum.openoffice.org/es/forum/viewtopic.php?f=32&t=3946&start=0

Un saludo! ;)

Re: Concatenar valores vacios en una vista

NotaPublicado: Dom Oct 07, 2018 12:48 pm
por Trempat
Tienes razón... encontré cómo hacerlo, però no lo comuniqué en el foro... mil disculpas!!

Re: [RESUELTO] Concatenar valores vacios en una vista

NotaPublicado: Mar Oct 09, 2018 2:05 pm
por Urxvt
Yo lo que hago es usar COALESCE:

Código: Seleccionar todo   Expandir vistaContraer vista
SELECT COALESCE ( "Cognoms" || ', ' || "Nom", "Nom" ) FROM ... ORDER BY ... ASC


No sé si es correcto hacerlo así, pero me funciona muy bien. Concatena el apellido + una coma separadora con espacio + el nombre. En caso de que la concatenación no tenga valor y quede vacío, mostrará únicamente el nombre, que es un campo que siempre tengo rellenado (porque si no es nombre particular es nombre de empresa).

Y lo curioso es que para ordenar datos de un formulario también me funciona, poniéndolo en las "Propiedades del formulario" > "Ordenar", así:

Código: Seleccionar todo   Expandir vistaContraer vista
COALESCE ( "Cognoms" || ', ' || "Nom", "Nom" ) ASC


¡Saludos!