orders van de vorige maand

Status
Niet open voor verdere reacties.

bvdzwart

Gebruiker
Lid geworden
9 jan 2017
Berichten
19
Zit een beetje te emmeren met een datum dingetje waar jullie, hoop ik, het antwoord wel op weten.
Ben een query aan het maken dat de opdrachten van de vorige maand oproept.
Nou is dat wel gelukt maar nu moet ik elke maand de query zelf draaien omdat ik de maand handmatig moet aanpassen.
Ik zoek de where statement die de maand van vandaag -1 neemt en daarvan de opdrachten oproept zodat ik er een job van kan maken die de info dan automatisch mailt naar de betreffende persoon.
Ik heb nu het volgende.

select o.Datum
,k.code
,k.VerkoperID
,f.Nummer


from opdracht o
left join klant k on k.id = o.KlantID
left join Faktuur f on f.id = o.FaktuurID



where MONTH(convert(datetime, o.Datum, 121)) = 7
and YEAR(convert(datetime, o.datum, 121)) = 2018
and k.VerkoperID = 66
and o.StatusID = 2



order by o.Datum, k.Code


Hoe krijg ik nou automatisch de maand -1?
 
Ik weet niet precies hoe je deze filtering vertaalt naar jouw SQL variant, maar in Access is het bloedje simpel om op de vorige maand te filteren:
PHP:
WHERE (((Format([Datum],"yyyymm"))=Format(DateAdd("m",-1,Date()),"yyyymm")));
 
In MySQL of MariaDB:

[sql]WHERE DATE_FORMAT(datum_kolom,'%Y-%m') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH),'%Y-%m')[/sql]
 
Ziet er mooi uit.
Nou dacht ik dat ik op MySQL zat. Nooit naar gekeken welke variant gebruikt wordt. ik ken maar 1 variant en hoorde de term MySQL ooit vallen dus ging ervan uit dat dat het dan was.
Aangezien DATE_FORMAT niet herkent wordt toch maar ff gekeken. Het is Microsoft SQL Server 2014 Management Studio.
Enig idee hoe dat dan vertaald moet worden?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan