Avatar billede anders_cp Nybegynder
04. december 2008 - 17:18 Der er 2 kommentarer og
1 løsning

Vælge værdi midt i række

Hejsa
Spørgsmålet her er et yderligere spørgsmål til tidl. stillet spørgsmål:
http://www.eksperten.dk/spm/855186
Der er her lagt et script, så I kan indtaste tabeller og data, men her vil jeg ridse mit problem op:

Jeg har - f.eks. - følgende resultat af udtræk
ActivityDetailID    ActivityID    StatusID    Tidspunkt
855312            205561        20        2008-05-02 12:44:03.367
855313            205561        19        2008-05-02 12:44:24.477
.
.
.
875217            205561        21        2008-06-24 09:01:26.647

For hvert activityid er X-antal rækker med forskellige status. I mit oprindelige spørgsmål ønskede jeg blot antal-dage fra start til slut.
Løsning:
SELECT
  ActivityID
  ,MIN(Tidspunkt) AS Start
  ,MAX(Tidspunkt) AS Slut
  ,DATEDIFF(dd, MIN(Tidspunkt), MAX(Tidspunkt)) AS Dage
FROM
  ActivityDetails
GROUP BY
  ActivityID


Imidlertid ønsker jeg nu tidspunktet FRA StatusID=19 (og der kan forekomme flere 19-statusser i en forespørgsel, men jeg ønsker kun den første), og stadig TIL sidste række.

Jeg er lost, så jeg håber meget på hjælp...
Avatar billede aaberg Nybegynder
05. december 2008 - 09:39 #1
SELECT *, DATEDIFF(dd, Start, Slut) AS Dage
FROM ( SELECT ActivityID
      ,(SELECT MIN(TIDSPUNKT) FROM ActivityDetails WHERE StatusID = 19) AS Start
      ,MAX(Tidspunkt) AS Slut
      FROM ActivityDetails
      GROUP BY ActivityID ) t
Avatar billede anders_cp Nybegynder
08. december 2008 - 23:26 #2
Mange tak!
Læg et svar :-)
Avatar billede aaberg Nybegynder
09. december 2008 - 08:31 #3
:-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester