unir filas en una misma fila

danysan
27 de Septiembre del 2005
Hola! necesito saber como poder concatenar varias filas en un mismo campo, de acuerdo a una misma clave, por ejemplo que el resultado de la consulta sea:
campo1 campo2
234 9;8;7
125 1;2

Por fa si alguien me puede ayudar de urgencia, lo malo es que necesito sin store procedures por que tambien consulto contra ACCESS, muchas gracias de antemano

mvallejos
27 de Septiembre del 2005
No se entiende muy bien, intenta explicar la situación real que debes resolver y, en lo posible, que es lo que tienen tus tablas. Esto se puede resolver con subconsultas.

Saludos

s p y w e b co.
27 de Septiembre del 2005
Hola, espero que sepas trabajar con procedimientos almacenados. el siguiente ejemplo es de un procedimiento almacenado que recibe como parametro un id de formula (@formula) y este lo utiliza para filtrar la informacion. Ok! luego define otro parametro que va a ser el que concatena las filas (@DESCRIPCION), lo inicializa en vacio para que concatene (no puedes concatenar null con varchar a menos que definas en off una propiedad de la que no hablaremos ahora). Luego tienes la query que le pasa el valor de la columna al parametro que creamos y este a su vez se concatena con el mismo. easy no!!!. Finalmente para vel el resultado seleccionas el parametro y lo renombras. Aca el ejemplo:
CREATE PROCEDURE SEL_DETALLEFORMULACOMPUESTA
@FORMULA INT = NULL
AS
DECLARE @DESCRIPCION AS VARCHAR(250)
SET @DESCRIPCION=\'\'
SELECT @DESCRIPCION [email protected] + CAST(DFOID AS VARCHAR(10)
FROM MAEDETALLEFORMULA
WHERE DFOFORMULAID = ISNULL(@FORMULA, DFOID)

SELECT @DESCRIPCION AS DETALLEFORMULA

El resultado de esta query en mi base de datos es solo una fila con el valor 333435 que corresponde al id de registro 33, 34, 35 que corresponden a 3 filas diferentes. Prueba quitandole "@DESCRIPCION [email protected] +" y veras que te muestra tres filas. El cast es para convertir los numeros a varchar y los concatene en vez de sumarlos.

Saludos
s p y w e b co.

s p y w e b co.
27 de Septiembre del 2005
Ojo!! al subir el procedimiento almacenado al esta foro me antepuso un a las dobles comillas simples que significan que le estas asignando vacio. No te confundas es @DESCRIPCION = 2 COMILLAS SIMPLES, no como aparece ahi con entre medio

Saludos
s p y w e b co.