Sql no funciona en Scriptcase, cuando concatenas campos

Hola:

Tengo un grid de una tabla de “clientes”, que tiene entre otros tres campos, que se llaman NOMBRE, APELLIDO1 y APELLIDO2.

En ?sta tabla, si es una persona, se informan los tres campos, pero si es una sociedad solo se informa el primer campo NOMBRE.

Esto en el formulario de mantenimiento de clientes, funciona perfectamente, ocultando o mostrando los campos adecuados conforme a si es persona o sociedad.

El problema que tengo es al mostrarlo en el grid. Con este criterio el sql que genera autom?ticamente SC es:
SELECT
_id,
nif,
nombre,
apellido1,
apellido2,
nacionalidad,
tipo_via,
nombre_via,
tipo_num,
num_casa,
calif_num,
bloque,
portal,
esc,
planta,
puerta,
complemento,
municipio,
codigo_postal,
provincia,
email,
telef_fijo,
telef_movil,
fax,
tipo,
url,
fecha_alta
FROM
clientes

Pero yo deseo concatenar en un s?lo campo, los tres campos de la tabla para lo cual he cambiado el select de la manera siguiente:

SELECT
_id,
nif,
concat (apellido1,apellido2, nombre) as nombre,
nacionalidad,
tipo_via,
nombre_via,
tipo_num,
num_casa,
calif_num,
bloque,
portal,
esc,
planta,
puerta,
complemento,
municipio,
codigo_postal,
provincia,
email,
telef_fijo,
telef_movil,
fax,
tipo,
url,
fecha_alta
FROM
clientes
ORDER BY
apellido1 ASC, apellido2 ASC, nombre ASC

Como vereis he cambiado lo que est? en rojo, pero mientras el order by funciona correctamente, el concatenar los campos, no me lo admite, se queda colgado durante minutos el SC, y al final me deja el select sin concatenar los campos.

El caso es que en el SQL Builder, funciona correctamente, y en el phpmyadmin igualmente.

?Como puedo hacer que ?sto funcione? ?Que estoy haciendo mal?

Gracias por vuestra ayuda

Carlos

Re: Sql no funciona en Scriptcase, cuando concatenas campos

Hol?, buenas tardes

Por lo que veo tu select deberia funcionar correctamente. Lo voy a testar en mi m?quina. Pero mientras no lo hago, yo por su parte dejaria el select normal y en el evento OnScriptInit yo haria la concatenaci?n de los campos. Con eso lo arreglaria todo. Pero lo del concat toca testarlo.

Saludos

Re: Sql no funciona en Scriptcase, cuando concatenas campos

Janilson:

No doy como hacerlo, siguiendo tus instrucciones.

Los tres campos a concatenar son: nombre, apellido1, apellido2.
En “Campos seleccionados”, muestro s?lo el campo “nombre”
y en el evento onScriptinit, he puesto:
{nombre} = {nombre} + ’ ’ + {apellido1} + ’ ’ + {apellido2};
Pero no me concatena el campo, me sigue mostrando s?lo el nombre.
He probado tambien en el evento onRecord, pero entonces me muestra un 0 (cero) en el campo.

?Como debo de hacerlo realmente para que me funcione?

De nuevo, gracias anticipadas

Carlos

Re: Sql no funciona en Scriptcase, cuando concatenas campos

Prueba con lo siguiente

{nombre} = {nombre} .’ ’ .{apellido1} .’ ’ .{apellido2};

Re: Sql no funciona en Scriptcase, cuando concatenas campos

Un poco mas de informacion seria de mas ayuda,
primero manejador de base de datos.
segundo al utilizar alguna de las funciones sum, list, concat etc debes primero agrupar todos los campos a excepcion de los que estas concatenando y posteriormente ordenarlos

SELECT
_id,
nif,
concat (apellido1,apellido2, nombre) as nombre,
nacionalidad,
tipo_via,
nombre_via,
tipo_num,
num_casa,
calif_num,
bloque,
portal,
esc,
planta,
puerta,
complemento,
municipio,
codigo_postal,
provincia,
email,
telef_fijo,
telef_movil,
fax,
tipo,
url,
fecha_alta
FROM
clientes
group by
_id,
nif,
nacionalidad,
tipo_via,
nombre_via,
tipo_num,
num_casa,
calif_num,
bloque,
portal,
esc,
planta,
puerta,
complemento,
municipio,
codigo_postal,
provincia,
email,
telef_fijo,
telef_movil,
fax,
tipo,
url,
fecha_alta
ORDER BY
apellido1 ASC, apellido2 ASC, nombre ASC

yo tuve un problema similar con firebird 2.5 (aqu? no funciona concat) y la funcion list(campo) ya que yo requer?a enlistar un campo que se repet?a con la misma informaci?n en una b?squeda

espero sirva de ayuda

saludos.

Espero que no sea demasiado tarde pero puedes probar cambiando el nombre de la variable: concat (apellido1,apellido2, nombre) as tnombre,
hay ocasiones que al definir el nombre de una variable igual que un campo, SC tiene problemas.