PDA

Ver la Versión Completa : Concatener campos en una consulta separados por coma


falbano
08-04-2005, 21:59:37
Hola

Necesito hacer una consulta que me traiga un conjunto de registros de un mismo tipo y agruparlos en una sola fila separados por coma....

Como puedo hacer esto?

Gracias.:(

falbano
08-04-2005, 22:03:14
Hola

Necesito hacer una consulta que me traiga un conjunto de registros de un mismo tipo y agruparlos en una sola fila separados por coma....

Como puedo hacer esto?

Gracias.:(

marcoszorrilla
08-04-2005, 22:04:36
El título de la pregunta no es apropiado si alguien intentara una búsqueda en el foro no encontraría probablemente nada.

Bueno lo que pides se puede hacer concatenando los campos:

Select Campo1+','+Campo2+','+Campo3 as MisCampos
From MiTabla


Un Saludo.

Ryu
08-04-2005, 22:06:30
:confused: si es una consulta de un solo tipo
no es una consulta a un campo ?
por que me imagino que en un campo hay un solo tipo de datos?
o a que te refieres con eso?

marcoszorrilla
08-04-2005, 22:12:11
He tenido que refundir los dos hilos puesto que habías abierto 2 hilos para un mismo tema, no se deben de repetir las preguntas.

Un Saludo.

Alfredo
08-04-2005, 22:33:53
Puedes dar un ejemplo para poder ayudarte?

quiza necesitas mas que una consulta, por ejemplo, si lo que quieres es un listado de nombres de una tabla clientes, pero necesitas que los nombres se muestren en un memo, digamos, entonces primero la consulta y despues un procedimiento que recorra que query y coloque los valores en el memo.

Algo como asi:
usando ilustrativamente 2 memos en un form:
Primero:

query1.close;
query1.sql.clear;
query1.sql.add('Select nombre from "ALUMNOS.DB" ');
query1.open;
// para colocar cada nombre de alumno en un memo:
query1.first;
while not query1.eof do
begin
memo1.Lines.add(query1.FieldValues['nombre']); // te lo pone en forma de lista
// ó
memo2.Text:= memo2.Text +', '+query1.FieldValues['nombre']; // a continuacion uno del otro
query1.Next;
end; // del while
end;

Por supuesto hay otros metodos, este es solo uno de muchos....

falbano
08-04-2005, 23:01:29
:( Hola soy falbano

Perdonen por no saber explicar..

lo que necesito es una consulta que me haga lo siguiente

tengo un listado de escuelas y en ella un listado de secciones y con esta un listado de alumnos; necesito una consulta que primero se agrupe por escuela, luego por secciones y luego por alumno; pero el campo alumno debe incluir todos los alumnos de esa seccion, separados por coma.

Ayudenme por favor.

gracias

Alfredo
12-04-2005, 06:06:29
ok.. Aun esta dificil, pero creo que necesitas usar usar la sentencia GROUP BY.

La sintasis es asi:

SELECT column1, column2, ... column_n, aggregate_function (expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, ... column_n;

en esta pagina tienes unos ejemplos sencillos: http://www.w3schools.com/sql/sql_orderby.asp