Hi Experts,
can you please help me convert this SQL query below;
SQL QUERY
CREATE proc [dbo].[Project_Bal_100715]
@Prjcode1 date,
@prjcode2 date
as
begin
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[test_table]') AND type in (N'U'))
DROP TABLE [dbo].[test_table]
SELECT T2.[TransId], T0.[PrjCode], T0.[PrjName], T1.[Account],T3.[AcctName],T1.[RefDate], T2.[Memo],T1.[Debit],
T1.[Credit],T1.[BatchNum], T2.[CreateDate],T2.TaxDate , T0.[U_PR_TYPE],T1.[Ref2],T1.[FCDebit], T1.[FCCredit],
T1.[DueDate],0 as Debit_BF,0 as Credit_BF
into [test_table]
FROM OPRJ T0 INNER JOIN JDT1 T1 ON T0.[PrjCode] = T1.[Project]
INNER JOIN OJDT T2 ON T1.[TransId] = T2.[TransId]
INNER JOIN OACT T3 ON T1.[Account] = T3.[AcctCode]
where T1.RefDate >= @Prjcode1 AND T1.RefDate <= @prjcode2 AND T0.U_PR_TYPE ='Employee'
--and T3.AcctCode ='2001010952'
ORDER BY t0.prjcode,T2.[TransId]
end
Declare Curupdate1 Cursor For Select distinct T0.[PrjCode],T0.[PrjName],T1.[Account],T3.[AcctName],sum(T1.[Debit]) as D_BF,sum(T1.[Credit]) as C_BF
From OPRJ T0 INNER JOIN JDT1 T1 ON T0.[PrjCode] = T1.[Project]
INNER JOIN OJDT T2 ON T1.[TransId] = T2.[TransId]
INNER JOIN OACT T3 ON T1.[Account] = T3.[AcctCode]
where T1.[RefDate]< @Prjcode1 group by T0.[PrjCode],T0.[PrjName],T1.[Account],T3.[AcctName]
Declare @prjCode varchar(200),@prjName varchar(200),@Account varchar(200),@AcctName varchar(200),@D_BF money,@C_BF money
Open Curupdate1
Fetch Curupdate1 Into @prjCode,@prjName,@Account,@AcctName,@D_BF,@C_BF
While @@Fetch_Status=0
Begin
if @D_BF=''
begin
set @D_BF=0
set @C_BF=0
end
update [test_table] set Debit_BF =@D_BF,Credit_BF =@C_BF
where PrjCode =@prjCode and PrjName =@prjName and Account = @Account and AcctName = @AcctName
Fetch Curupdate1 Into @prjCode,@prjName,@Account,@AcctName,@D_BF,@C_BF
End
Close Curupdate1
Deallocate Curupdate1
--end
select * from [test_table] order by PrjCode
Regards
Justice