Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/12/2010, 18:55
Cvilla90
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años
Puntos: 3
Respuesta: Temporales en SQL Server 2005

ok les copio el codigo, es el siguiente:

--Alter Procedure [dbo].[STASetRptGastos]
declare
@FecIni Datetime
,@FecFin Datetime
,@Documento VarChar(5)
,@NroDoc VarChar(10)
,@Estado VarChar(1)


Set @FecIni = '23/09/2010'
Set @FecFin = '23/12/2010'
Set @Documento = ''
Set @NroDoc = ''
Set @Estado = ''


--As

Select
Row_Number() Over (Order By a.IddCodIdd) As Id
,a.IddCodIdd As Codigo
,b.DocNomDoc As Documento
,a.IddNroDoc As NroDocumento
,Convert(VarChar,a.IddFchCpa,103) As Fecha
,a.IddDscIdd As Descripcion
,a.IddPreUnt As Precio
,a.IddCntIdd As Cantidad
,a.IddTotPrd As Total
,Case When a.IddEstIdd = '0' Then
'Pagado'
Else
'Por Pagar'
End As Estado
,a.IddObsIdd As Observacion
Into #TblTmp1
From STAM0012 a
Inner Join STAM0014 b
On a.CodCodDoc = b.DocCodDoc
Where a.IddFlgEli = '0'
And b.DocFlgEli = '0'
And (Convert(VarChar,a.IddFchCpa,103) >= @FecIni And Convert(VarChar,a.IddFchCpa,103) <= @FecFin)
And (Len(Rtrim(Ltrim(@Documento))) = 0 Or a.CodCodDoc = @Documento)
And (Len(Rtrim(Ltrim(@NroDoc))) = 0 Or a.IddNroDoc = @NroDoc)
And (Len(Rtrim(Ltrim(@Estado))) = 0 Or a.IddEstIdd = @Estado)


Insert Into #TblTmp1
Select
max(id + 1)
,Codigo
,''
,''
,''
,'Total:'
,Null
,Null
,Sum(Total)
,''
,''
From #TblTmp1
Group By Codigo

Select
*
Into #TblTmp2
From #TblTmp1
Order By Codigo
,Id

Insert Into #TblTmp2
Select Top 1
max(id + 2)
,Codigo
,''
,''
,''
,''
,Null
,Null
,Null
,''
,''
From #TblTmp2
Group By Codigo

Select
*
Into #TblTmp3
From #TblTmp2
Order By Codigo
,Id


Insert Into #TblTmp3
Select
max(id + 3)
,''
,''
,''
,''
,''
,Null
,Null
,Sum(Total)
,''
,''
From #TblTmp3
Where Descripcion = 'Total:'

Select
*
Into #TblTmp4
From #TblTmp3
Order By Id

Update #TblTmp4 Set
Codigo = ''
Where Descripcion = 'Total:'

Update #TblTmp4 Set
Codigo = ''
Where Len(Rtrim(Ltrim(Documento))) = 0
And Len(Rtrim(Ltrim(NroDocumento))) = 0

Update #TblTmp4 Set
Descripcion = 'Total General:'
Where Len(Rtrim(Ltrim(Codigo))) = 0
And Len(Rtrim(Ltrim(Documento))) = 0
And Len(Rtrim(Ltrim(Descripcion))) = 0
And Total >= 0

Select
Codigo
,Documento
,NroDocumento
,Fecha
,Descripcion
,Precio
,Cantidad
,Total
,Estado
,Observacion
From #TblTmp4

Drop Table #TblTmp1
Drop Table #TblTmp2
Drop Table #TblTmp3
Drop Table #TblTmp4

pero como les digo yo modifico el store con un select cualquiera y no hay problema pero si trabajo con el temporal entonces me muestra error en el basic pero cuando ese mismo store(tablas temporales) lo ejecuto en el sql entonces me muestra tal y como quiero q me muestre pero en el bascu no pasa lo mismo.