set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[StpListInvoiceCostPrint] @SerialNo int AS declare @Title nvarchar(100),@Amount money declare @T table (Title1 nvarchar(100),Amount1 money,Title2 nvarchar(100),Amount2 money,Title3 nvarchar(100),Amount3 money) declare CurCursor cursor for SELECT InvoiceCostTbl.Title, InvoiceCostDetailTbl.Amount FROM InvoiceCostDetailTbl RIGHT OUTER JOIN InvoiceCostTbl ON InvoiceCostDetailTbl.FK_InvoiceCostSysCode = InvoiceCostTbl.SysCode WHERE (InvoiceCostDetailTbl.FK_FactorSerialNo = @serialNo) open CurCursor FETCH NEXT FROM CurCursor into @Title ,@Amount if @@FETCH_STATUS=0 insert into @t (Title1 ,Amount1) values ( @Title ,@Amount) else goto SelectLbl FETCH NEXT FROM CurCursor into @Title ,@Amount if @@FETCH_STATUS=0 update @t set title2=@Title ,amount2=@Amount else goto SelectLbl FETCH NEXT FROM CurCursor into @Title ,@Amount if @@FETCH_STATUS=0 update @t set title3=@Title ,amount3=@Amount else goto SelectLbl SelectLbl: CLOSE CurCursor DEALLOCATE CurCursor select Title1 as عنوان1,Amount1 as مبلغ1,Title2 as عنوان2,Amount2 as مبلغ2,Title3 as عنوان3,Amount3 as مبلغ3 from @t