He hecho un procedimineto almacenado con el objetivo de ocncatenar varios campos de varios registros de una tabla, aqui les dejo el código:
-------------------------------------------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
Alter PROCEDURE [dbo].[ProcedureMIPlanAct]
-- Add the parameters for the stored procedure here
@fechaI Datetime,
@fechaF Datetime
AS
BEGIN
SET NOCOUNT ON;
declare @fichero varchar(max), @fila varchar(max)
set @fichero = ''
set @fila = ''
truncate table SLAM.Calendario_TEMP
declare @fechaAux Datetime
set @fechaAux = @fechaI
while @fechaAux <= @fechaF
Begin
declare ajustafich cursor
for SELECT Lugar+char(10)+CONVERT(varchar,FechayHoradeinicio, 108) + ' '+ Título as Datos from
SLAM.Calendario where CONVERT(varchar, FechayHoradeinicio, 101) = @fechaAux
order by CONVERT(varchar,FechayHoradeinicio, 108), Lugar
open ajustafich
fetch next from ajustafich into @fichero
while @@fetch_status=0
begin
set @fila = @fila + char(10) + @fichero
set @fichero = ''
fetch next from ajustafich into @fichero
end
close ajustafich
deallocate ajustafich
insert into SLAM.Calendario_TEMP(Datos) values (@fila);
SET @fechaAux = dateadd(d, 1, @fechaAux)
End
END
------------------------------------------------------
el problemas es que al ejecutar el procedimiento me sale los registros repetidos, me explico, al ejecutarlo entre dos fechas donde solo hay un registro, me inserta en la tabla SLAM.CalendarioTemp 32 veces lo mismo, si alguien me puede ayudar se lo agradeceria.
Salu2