Ik ben geen SQL-expert, maar probeer dit:
SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
AND DATEDIFF(yy,Requestdate, GETDATE())=0
Zie mijn Fiddle-demo
Uitleg:
DATEDIFF(mm,Requestdate , GETDATE())=1 (Only Request previous Month of the Current Date)
Volgende voorwaarde:
DATEDIFF(yy,Requestdate, GETDATE())=0 (Only in same year as Current Date)
Als u echter alleen de vorige maand wilt, ongeacht of het hetzelfde jaar is als de huidige datum of niet, dan kunt u de tweede voorwaarde verwijderen, zoals:
SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
Zie de demo hiervoor.
Bijvoorbeeld als de huidige datum 2013-01-19
. is dan elke December 2012
verzoek zal worden opgenomen ondanks dat het niet van hetzelfde jaar is, maar duidelijk van de vorige maand.