Click here to Skip to main content
15,897,093 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
i have written following query to retrieve user records based on their emi payments


SQL
SELECT 
    PaymentTracker1.*
    ,DATEADD(m,N,StartDate) AS DueDate
    , CASE WHEN GETDATE() > StartDate THEN (Numbers.N - DATEDIFF(m,StartDate,GETDATE())) * MonthlyPay ELSE Numbers.N * MonthlyPay END AS DueAmount
FROM 
    PaymentTracker1 
    INNER JOIN Numbers on DATEDIFF(m,PaymentTracker1.StartDate,PaymentTracker1.EndDate) >= Numbers.N where DueDate is current date
ORDER BY
    PaymentTracker1.Name
    ,Numbers.N




by using this query all records are displaying ..out put image of that query is click below link

http://i.stack.imgur.com/crl7M.png

in that i want to display only this record(only current month record if it is crossed then show next month record )

49 Ajay Merugu Chit 200000 11000 24 09/01/2015 09/01/2017 99893201276 South Swaroop Nagar Uppal Hyderabad 2015-10-01 00:00:00.000 0
Posted
Updated 27-Oct-15 19:50pm
v2

Use The Code
SQL
where datepart(m,DueDate)= datepart(m,getdate()) AND datepart(yy,DueDate)= datepart(yy,getdate())
 
Share this answer
 
v3
Comments
Member 11382784 28-Oct-15 2:45am    
Thanks for your help sir..
am getting error
Invalid column name 'DueDate'.

SELECT
PaymentTracker1.*
, convert(varchar(20),DATEADD(m,N,StartDate),110) AS DueDate
,(Numbers.N * MonthlyPay) AS DueAmount
FROM
PaymentTracker1
INNER JOIN Numbers on DATEDIFF(m,PaymentTracker1.StartDate,PaymentTracker1.EndDate) >= Numbers.N where datepart(m,DueDate)= datepart(m,getdate())
ORDER BY
PaymentTracker1.Name
,Numbers.N
Debojyoti Saha 28-Oct-15 3:25am    
You have already mentioned the "DueDate" at above code.
If your "DueDate" is DATEADD(m,N,StartDate) AS DueDate
then use the DATEADD(m,N,StartDate) only into the DatePart
Debojyoti Saha 28-Oct-15 3:30am    
where datepart(m,yourDateColoumn)= datepart(m,getdate())
Member 11382784 28-Oct-15 3:38am    
2 dates are showing sir that is oct 2015 and oct 2016
Debojyoti Saha 28-Oct-15 3:57am    
then you need this query
where datepart(m,yourDateColoumn)= datepart(m,getdate()) AND datepart(y,yourDateColoumn)= datepart(y,getdate())
SELECT DATEPART(MM,GETDATE())

this query will be more specific to get the current month
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900