(Weet niet zeker of dit de beste plaats is om dit topic te plaatsen?!)
Hi, ben bezig met het automatiseren van een aantal query´s dit brengt met zich mee dat het updaten van data (wat voorheen met de hand ging) nu automatisch dient te gebeuren.
Dit is de (vereenvoudigde) situatie.
Ik heb een tabel met 3 kolommen. 1, gevuld met ID´s 2, gevuld met jaartal (2003,2004 enz) en 1 gevuld met de maand (1,2,3 enz.).
Het resultaat dat ik uit de query wil hebben is, de ID waar de laatste en opeennalaatste maand geselecteerd wordt. In een normale situatie zou dit zijn iets als year is max, en month is max and month is max-1. Een probleem is echter wanneer je op de overgang van jaren zit. In januari 2005 wil je dus, 2005-1 en 2004-12.
Er zijn twee oplossingen waar ik tevreden mee zou zijn.
1, voeg het jaartal jaarlijks handmatig toe. Dus verander de query een maal per jaar zodat je in de query alleen opneemt select ID where year is 2004 (dit dus 1 x per jaar ophogen) and month is max.
2, de mooiste mogelijkheid zou zijn als zowel het jaar als de maand geautomatiseerd wordt. Dus hij pakt de ID´s where year/month is max.
De kolommen kan ik niet wijzigen die staan vast (anders had ik de maand en het jaar in 1 kolom gezet zodat je deze problemen voorkomt).
Nou is het zo, ik heb slechts basis SQL kennis en dit gaat mij te ver. In de search heb ik geen zinvolle informatie kunnen vinden mede omdat ik niet echt een goede zoekopdracht heb kunnen formuleren.
Mijn vraag dus, zou iemand mij met het SQL-script kunnen helpen?
Voor oplossing 1 kom ik niet verder dan:
SELECT id, year, month
FROM dbase o.i.d
WHERE month= MAX (bestaat zoiets??) and month= MAX-1 (zo zou ik het dus willen hebben maar nogmaals mijn SQL kennis is zeer gering en ik weet dus niet of er zo´n soort mogelijkheid bestaat)
Voor de tweede oplossing heb ik echt geen idee.
Hoop dat iemand mij hiermee op weg kan helpen, alvast heel veel dank!
Hi, ben bezig met het automatiseren van een aantal query´s dit brengt met zich mee dat het updaten van data (wat voorheen met de hand ging) nu automatisch dient te gebeuren.
Dit is de (vereenvoudigde) situatie.
Ik heb een tabel met 3 kolommen. 1, gevuld met ID´s 2, gevuld met jaartal (2003,2004 enz) en 1 gevuld met de maand (1,2,3 enz.).
Het resultaat dat ik uit de query wil hebben is, de ID waar de laatste en opeennalaatste maand geselecteerd wordt. In een normale situatie zou dit zijn iets als year is max, en month is max and month is max-1. Een probleem is echter wanneer je op de overgang van jaren zit. In januari 2005 wil je dus, 2005-1 en 2004-12.
Er zijn twee oplossingen waar ik tevreden mee zou zijn.
1, voeg het jaartal jaarlijks handmatig toe. Dus verander de query een maal per jaar zodat je in de query alleen opneemt select ID where year is 2004 (dit dus 1 x per jaar ophogen) and month is max.
2, de mooiste mogelijkheid zou zijn als zowel het jaar als de maand geautomatiseerd wordt. Dus hij pakt de ID´s where year/month is max.
De kolommen kan ik niet wijzigen die staan vast (anders had ik de maand en het jaar in 1 kolom gezet zodat je deze problemen voorkomt).
Nou is het zo, ik heb slechts basis SQL kennis en dit gaat mij te ver. In de search heb ik geen zinvolle informatie kunnen vinden mede omdat ik niet echt een goede zoekopdracht heb kunnen formuleren.
Mijn vraag dus, zou iemand mij met het SQL-script kunnen helpen?
Voor oplossing 1 kom ik niet verder dan:
SELECT id, year, month
FROM dbase o.i.d
WHERE month= MAX (bestaat zoiets??) and month= MAX-1 (zo zou ik het dus willen hebben maar nogmaals mijn SQL kennis is zeer gering en ik weet dus niet of er zo´n soort mogelijkheid bestaat)
Voor de tweede oplossing heb ik echt geen idee.
Hoop dat iemand mij hiermee op weg kan helpen, alvast heel veel dank!