Non sono un esperto di SQL, ma prova questo:
SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
AND DATEDIFF(yy,Requestdate, GETDATE())=0
Guarda la mia Dimostrazione di violino
Spiegazione:
DATEDIFF(mm,Requestdate , GETDATE())=1 (Only Request previous Month of the Current Date)
Condizione successiva:
DATEDIFF(yy,Requestdate, GETDATE())=0 (Only in same year as Current Date)
Tuttavia, se desideri solo il mese precedente, indipendentemente dal fatto che sia lo stesso anno della data corrente o meno, puoi rimuovere la seconda condizione, ad esempio:
SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
Vedi la Demo per questo.
Ad esempio, se CurrentDate è 2013-01-19
quindi qualsiasi December 2012
la richiesta verrà inserita nonostante non sia dello stesso anno ma ovviamente del mese precedente.