Je ne suis pas un expert SQL mais essayez ceci :
SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
AND DATEDIFF(yy,Requestdate, GETDATE())=0
Voir ma démo de violon
Explication :
DATEDIFF(mm,Requestdate , GETDATE())=1 (Only Request previous Month of the Current Date)
Condition suivante :
DATEDIFF(yy,Requestdate, GETDATE())=0 (Only in same year as Current Date)
Cependant, si vous ne voulez que le mois précédent, qu'il s'agisse de la même année que la date actuelle ou non, vous pouvez supprimer la deuxième condition, comme :
SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
Voir la démo pour cela.
Par exemple, si CurrentDate est 2013-01-19
puis n'importe quel December 2012
la demande sera incluse bien qu'elle ne soit pas de la même année mais bien du mois précédent.