23. november 2007 - 19:15Der er
8 kommentarer og 1 løsning
Jeg får konstant dubletter
Hey, jeg har fået til opgave at
"Find ud af, med hvor mange forbrydelser, der har fundet en stigning sted i såvel 1997-1998 som i 1998-1999. Svarskemaet skal indeholde både kategori samt overskrift."
Når jeg så skriver i 1998 at den skal være >1997, så kommer der alligevel steder hvor 1998<1997. Hvordan pokker løser jeg den opgave? Sig til hvis i skal bruge MDB filen!
Når felt navnet er tal som 1998 el. 1997 sæt [] rundt om, her er en forslag:
SELECT STRGRP.KATAGORI, STRGRP.OVERSKRIFT,(sum([1999]) - sum([1998])) as [Forholdet 98 til 99], (Sum([1998]) - sum([1997])) as [Forholdet 97 til 98] FROM (STRGRP INNER JOIN TEKSTER ON STRGRP.KATAGORI = TEKSTER.KATEGORI) INNER JOIN STRAFFE ON TEKSTER.NUMMER = STRAFFE.NUMMER group by STRGRP.KATAGORI, STRGRP.OVERSKRIFT;
Hej Hvis du gemmer følgende som forespørgsel1 SELECT TEKSTER.KATEGORI, TEKSTER.TEKST, STRAFFE.[1997], STRAFFE.[1998], STRAFFE.[1999] FROM STRAFFE INNER JOIN TEKSTER ON STRAFFE.NUMMER = TEKSTER.NUMMER WHERE (((STRAFFE.[1998])>[1997]) AND ((STRAFFE.[1999])>[1998]));
og derefter kører følgende sql
SELECT Count(Forespørgsel1.KATEGORI) AS AntalOfKATEGORI FROM Forespørgsel1;
når det er minus betyder at der har været et faldt i den pågældende kategori. Positive tal viser stigning. du skal vise den tilfælde hvor en kategori har haft stigning i begge perioder dvs fra 97-98 og 98-99, og nedenstående sql sætning kan gøre det:
SELECT STRGRP.KATAGORI, STRGRP.OVERSKRIFT,sum(([1998]-[1997])) AS [Stigning 97-98], sum(([1999]-[1998])) AS [Stigning 98-99] FROM (STRGRP INNER JOIN TEKSTER ON STRGRP.KATAGORI = TEKSTER.KATEGORI) INNER JOIN STRAFFE ON TEKSTER.NUMMER = STRAFFE.NUMMER WHERE ((([1998]-[1997])>0)) and ((([1999]-[1998])>0)) Group By STRGRP.KATAGORI, STRGRP.OVERSKRIFT;
hvis du vil vise stigning kun i perioden 97-98 så kan du bruge dette:
SELECT STRGRP.KATAGORI, STRGRP.OVERSKRIFT,sum( ([1998]-[1997])) AS [Stigning 97-98] FROM (STRGRP INNER JOIN TEKSTER ON STRGRP.KATAGORI = TEKSTER.KATEGORI) INNER JOIN STRAFFE ON TEKSTER.NUMMER = STRAFFE.NUMMER WHERE ((([1998]-[1997])>0)) Group By STRGRP.KATAGORI, STRGRP.OVERSKRIFT;
Har fundet løsningen, tog noget af dit :) mange tak ;D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.