On Sun, 23 Jan 2005 23:00:07 +0100, Tomas Christiansen wrote:
> Tænkte på om man kunne oprette en tabel X med alle de mulige år-uge værdier
> og give dem fortløbende numre.
> Derved burde man kunne foretage en søgning, hvor man checker på én bestemt
> værdi i X og lader dennes år-uge være den nedre grænse, lægge 51 til
> nummeret og lade denne posts år-uge være den øvre grænse. Nu kan man så
> tælle alle de poster som ligger indenfor den nedre og øvre grænse, og findes
> der en I som har præcis 52 poster indenfor denne periode, ja så må de alle
> være der.
Netop. Men der er så vidt jeg kan se et problem: Du kan vel ikke bare
starte med en given I's første T-værdi? Hvis den fejler din test kan der
jo sagtens være forløb senere, hvor der er 52 sammenhængende T'er?
Dermed er du vel i praksis nærmest nødt til at teste for alle
start-T-værdier indtil du finder en sammenhængende periode.
Anyways: Det med at generere en tabel med 52 rækker kunne måske også
gøres som en stored producedure, der tager en I-værdi som input og
genererer en mængde på 52 passende elementer. Sådanne elementer ville da
kunne bruges i en underførespørgsel i stil med
SELECT COUNT(SELECT 1 FROM bar WHERE I=i AND T IN (myproc(start-t)))
(På ingen måde testet.)
Jeg går stærkt ud fra, at man i Oracle kan skrive mængde-returnerende
funktioner, og at den måske endda har en funktion i stil med
dem på
http://www.postgresql.org/docs/8.0/static/functions-srf.html
--
Greetings from Troels Arvin, Copenhagen, Denmark