Concatenar con una celda vacía en una consulta en sql

Hola: tengo una tabla con las columnas: Nombre, Apellido, Ciudad.
En una consulta tengo que concatenar estas 3 columnas.
La celda Ciudad a veces está vacía.
Cuando este es el caso la orden CONCAT( “Nombre”, CONCAT( ’ / ’ , CONCAT ( “Apellido”, CONCAT( ’ / ', “Ciudad”) ) ) ) me devuelve vacía la celda.

Necesito que aparezca ej:
Pedro / García / Salta
José / Perez /
En este último caso la celda del campo Ciudad está vacía.

Agradezco toda sugerencia

"Nombre"||' / '||"Apellido"||' / '||COALESCE("Ciudad",'')

o

"Nombre"||' / '||"Apellido"||COALESCE(' / '||"Ciudad",'')
1 Like

Hola:
Gracias por su respuesta.

SELECT “Nombre”, “Apellido”, “Ciudad”, “Nombre”||’ / ‘||“Apellido”||’ / ‘||COALESCE(“Ciudad”,’’) AS “CADENA”, FROM “Hoja1”

me da el siguiente error:
Estado de SQL: HY000
Código de error: 1000

Error de sintaxis en la instrucción SQL at /mnt/hd/build/tmp-libreoffice/libreoffice-7.5.2.2/dbaccess/source/core/api/SingleSelectQueryComposer.cxx:110

Hay una coma de más.

SELECT "Nombre", "Apellido", "Ciudad", 
"Nombre"||' / '||"Apellido"||' / '||COALESCE("Ciudad",'') AS "CADENA" 
FROM "Hoja1"

Hola RobertG
Gracias por tu respuesta pero sigue sin funcionar.

¿Qué tipo de base de datos utiliza? ¿La incorporada HSQLDB?
¿Puede cargar la base de datos (sin datos personales)?
concatenate.odb (3.8 KB)

Hola RobertG:
Uso una hoja de cálculo como tabla.
Si, pude abrir concatenate.odb

Hola Ariels,

Si está utilizando una hoja de cálculo (Calc) como fuente de datos, la mayoría de los comandos SQL no funcionarán. Conecta los campos correspondientes en Calc entre sí. La función en Calc para esto es CONCATENATE().

Para las colecciones de datos, las bases de datos (como la incorporada HSQLDB) son más adecuadas que Calc.

Hola RobertG:

El problema era que no usaba una base de datos del tipo HSQLDB.
Muchas gracias!