PDA

Ver la Versión Completa : concatenar resultado de una consulta


carlo_acp
17-10-2008, 01:45:26
hola amigos, tengo esta consulta si se puede hacer en SQL, el resultado de una consulta SELECT, si se puede hacer q el resultado en vez que muestre por lineas, me lo de en una sola linea concatenando los resultados.

codigo nombre pais
001 juan peru
002 pedro brasil
003 miguel chile
004 marco peru

SELECT nombre from ..... where pais='peru'
resultado = 'juan marco'

se puede hacer esto? .
gracias.

enecumene
17-10-2008, 01:49:33
Hola,

Select Nombre, Pais from tabla where pais =´Peru'

Mostrar el resultado:

Edit1.Text := TablaNombre.asstring+' '+TablaPais.asstring;

o tambien puede ser:

Select (Nombre || Pais) as Salida where tabla where pais = 'Peru';

o

Select CONCAT(Nombre, Pais) as Salida where tabla where pais = 'Peru';


Saludos.

hecospina
17-10-2008, 22:59:49
Creo que nuestro compañero no necesita concatenar el nombre de la persona y el pais sino cada una de los registros que genere la consulta

por ejemplo si para el pais Peru se tiene la siguiente respuesta

Nombre
Juan
Pedro
Pablo
Mateo
Marcos

Lo que requiere es que le aparezca

Juan Pedro Pablo Mateo Marcos

Desde SQL lo he intentado y no he logrado hacerlo, se debe tener en cuenta el tipo de dato donde se almacenara esta informacion ya que el limite de los campos char o varchar es de 254 caracteres o algo asi y si la respuesta contiene muchos registros obviara los que se encuentren despues del caracter 254 o aparecera un error

Nota

creo que hay un error en los dos ultimos sql aparece ....where tabla..., deberia ser from tabla

carlo_acp
18-10-2008, 04:20:53
Exactamente como dices lo que yo necesito es que el resultado de la consulta sea en una sola linea. aclaro la consulta.

CODIGO NOMBRE PAIS
001 juan peru
002 pedro brasil
003 miguel chile
004 marco peru

SELECT nombre from MiTabla where PAIS='peru'
el resultado seria

juan
marco

pero yo necesito que la respuesta de la consulta me de = 'juan marco'.

TOPX
18-10-2008, 04:58:15
Hola,

¿En qué motor de base de datos?

carlo_acp
20-10-2008, 04:02:47
hola topx,
trabajo con firebird 2.1, con dbexpress.

jorge82
20-10-2008, 07:21:23
El compañero Jhonny ha publicado en su blog algunas características de Firebird 2.1, entre ellas la función List (http://jhonny.clubdelphi.com/?p=38), que creo es la que te puede servir.

carlo_acp
20-10-2008, 21:10:00
gracias jorge, eso era lo q estaba buscando, agradecido a todos por su interes y apoyo.