CREATE TABLE [dbo].[voucherCr]( [srno] [int] IDENTITY(1,1) NOT NULL, [vouchertype] [nvarchar](50) NULL, [voucherprefix] [nvarchar](50) NULL, [voucherno] [nvarchar](50) NULL, [crparty] [int] NULL, [cramount] [float] NULL)
CREATE TABLE [dbo].[voucherDr]( [srno] [int] IDENTITY(1,1) NOT NULL, [vouchertype] [nvarchar](50) NULL, [voucherprefix] [nvarchar](50) NULL, [voucherno] [nvarchar](50) NULL, [drparty] [int] NULL, [dramount] [float] NULL)
CREATE TABLE [dbo].[voucher]( [srno] [int] IDENTITY(1,1) NOT NULL, [vouchertype] [nvarchar](50) NULL, [voucherprefix] [nvarchar](50) NULL, [voucherno] [nvarchar](50) NULL, [dt] [date] NULL, [details] [nvarchar](255) NULL, [invoicetype] [nvarchar](50) NULL)
srno vouchertype voucherprefix voucherno dt details invoicetype1 PURCHASE P 1 2012-12-25 RETAIL INVOICE2 PAYMENT R 1 2012-12-25 3 PURCHASE P 2 2012-12-25 RETAIL INVOICE4 PURCHASE P 3 2012-12-25 RETAIL INVOICE
srno vouchertype voucherprefix voucherno crparty cramount1 PURCHASE P 1 2 550002 PAYMENT R 1 1 550003 PURCHASE P 2 2 280004 PURCHASE P 3 2 30550
srno vouchertype voucherprefix voucherno drparty dramount1 PURCHASE P 1 4 550002 PAYMENT R 1 2 550003 PURCHASE P 2 4 280004 PURCHASE P 3 4 290005 PURCHASE P 3 97 11606 PURCHASE P 3 98 2907 PURCHASE P 3 46 508 PURCHASE P 3 66 50
SELECT Month(v.dt) [Month], Sum(vc.cramount) Credit, Sum(vd.dramount) DebitFROM voucher v INNER JOIN voucherCr vc ON v.voucherno = vc.voucherno AND v.voucherprefix = vc.voucherprefix AND v.vouchertype = vc.vouchertype INNER JOIN voucherDr vd ON v.voucherno = vd.voucherno AND v.voucherprefix = vd.voucherprefix AND v.vouchertype = vd.vouchertypeGROUP BY Month(v.dt)
Month Credit Debit----------- ---------------------- ----------------------12 290750 168550
Select p.Month, SUM(p.cramount) As Credit, SUM(q.dramount) As Debit From ( Select b.voucherno, DATENAME(MM, a.dt) As Month, SUM(b.cramount) As cramount From voucher As a JOIN voucherCr As b ON a.voucherno = b.voucherno AND a.vouchertype = b.vouchertype Group By b.voucherno, DATENAME(MM, a.dt) ) As p JOIN ( Select b.voucherno, DATENAME(MM, a.dt) As Month, SUM(b.dramount) As dramount From voucher As a RIGHT JOIN voucherDr As b ON a.voucherno = b.voucherno AND a.vouchertype = b.vouchertype Group By b.voucherno, DATENAME(MM, a.dt) ) As q ON p.voucherno = q.voucherno Group By p.Month
Select p.Month, SUM(p.cramount) As Credit, SUM(q.dramount) As Debit From ( Select b.voucherno, DATENAME(YY, a.dt) As Year, DATENAME(MM, a.dt) As Month, SUM(b.cramount) As cramount From voucher As a JOIN voucherCr As b ON a.voucherno = b.voucherno AND a.vouchertype = b.vouchertype Group By b.voucherno, DATENAME(YY, a.dt), DATENAME(MM, a.dt) ) As p JOIN ( Select b.voucherno, DATENAME(YY, a.dt) As Year, DATENAME(MM, a.dt) As Month, SUM(b.dramount) As dramount From voucher As a RIGHT JOIN voucherDr As b ON a.voucherno = b.voucherno AND a.vouchertype = b.vouchertype Group By b.voucherno, DATENAME(YY, a.dt), DATENAME(MM, a.dt) ) As q ON p.voucherno = q.voucherno Group By p.Month