Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Combinación de columnas MySQL 5 (https://www.clubdelphi.com/foros/showthread.php?t=42335)

Maibok 11-04-2007 21:10:46

Combinación de columnas MySQL 5
 
Hola a todos, estoy trabajando con mysql 5 y delphi 6 y necesito mostrar en un combo box lo siguiente:

Tengo una tabla con dos campos: Nombre y apellidos. Los dos son varchar.

Quiero hacer una consulta que me muestre en una sola columna (combinación de columnas) el nombre y apellidos para luego usar esa consulta en el dblookupcombobox y que me salga nombre y apellidos de la persona y no sólo el nombre. El problema lo tengo en la consulta, hago lo siguiente:

SELECT nombre + ' ' + apellidos 'nombreApellidos'
FROM personas;

Para que me lo muestre todo en una columna llamada nombreApellidos.

Con lo que he puesto me sale una columna con el mismo número de registros que en la tabla personas pero todos con un cero. He probado a cambiar por comillas dobles pero me pasa lo mismo.

Me podríais decir cómo hacerl? Gracias

roman 11-04-2007 22:13:59

Te pone ceros porque en MySQL las cadenas no se concatenan con +; por tanto, el motor intenta convertir los argumentos del operador en números, y al no poder hacerlo, los interpreta como ceros.

Para lo que quieres necesitas la función concat:
Código SQL [-]
SELECT concat(nombre, ' ', apellidos) 'nombreApellidos'
FROM personas;

// Saludos

poliburro 11-04-2007 23:33:14

y si tienes más de un campo por concatenar

nada mejor que

Código SQL [-]
  Select concat_ws(' ',nombre,apellidos) As nombreApellidos
   From personas;

roman 11-04-2007 23:39:57

¡Vaya! Esta no la conocía, está excelente. :)

// Saludos

BlackDaemon 12-04-2007 06:56:47

Esto no es válido ??

Código SQL [-]
SELECT cast(nombre as char(11))+'  --  '+cast(Apellido as char(11)) as NombreCompleto
FROM Personas

Donde NombreCompleto sería como el nuebo campo (creo :D)

El resultado sería algo como

Código:

Nombre -- Apellido
Se que es una chapucera o esta mal, pero quería colaborar despues de tanto preguntar :)

Saludos


La franja horaria es GMT +2. Ahora son las 03:57:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi