unir filas en una misma fila
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
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
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
Saludos
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 =@DESCRIPCION + 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 =@DESCRIPCION +" 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.
CREATE PROCEDURE SEL_DETALLEFORMULACOMPUESTA
@FORMULA INT = NULL
AS
DECLARE @DESCRIPCION AS VARCHAR(250)
SET @DESCRIPCION=\'\'
SELECT @DESCRIPCION =@DESCRIPCION + 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 =@DESCRIPCION +" 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.
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.
Saludos
s p y w e b co.
