Avatar billede agertoft Nybegynder
19. september 2005 - 13:45 Der er 3 kommentarer og
1 løsning

Hjælp til stored procedure

Jeg har en tabel med nogle kampe, som skal spilles i løbet af et år. Jeg har brug for hjælp til at hente de kommende kampe ud af databasen. Jeg har en tabel med kolonnerne:

ID, Date, Tagline, TeamID

eks:
1, 05-09-2005, Kamp 1, 1
2, 30-09-2005, Kamp 2, 1
3, 15-10-2005, Kamp 3, 1
4, 26-09-2005, Kamp 4, 2
5, 16-10-2005, Kamp 5, 2
6, 01-11-2005, Kamp 6, 2
7, 25-09-2005, Kamp 7, 3
8, 14-10-2005, Kamp 8, 3
9, 16-10-2005, Kamp 9, 3
10, 10-11-2005, Kamp 10, 3

For hvert TeamID vil jeg gerne have hevet den kommende kamp ud. Dvs jeg gerne vil have 3 kampe ud:

2, 30-09-2005, Kamp 2, 1
4, 26-09-2005, Kamp 4, 2
7, 25-09-2005, Kamp 7, 3

Det skal hele tiden være kampe i fremtiden, så der skal altså laves et check på, om kampen er ældre end dagens dato.

Hvordan vil en stored procedure til sådan et tilfælde se ud?
Avatar billede ldanielsen Nybegynder
19. september 2005 - 14:43 #1
Du skal selecte sådan:

SELECT TOP 1 ID, Date, Tagline, TeamID FROM TabelNavn WHERE
Date > GETDATE() GROUP BY ID, Date, Tagline, TeamID ORDER BY Date, TeamID

Tester lige ...
Avatar billede ldanielsen Nybegynder
19. september 2005 - 14:55 #2
Sorry, det kan laves sådan her:

SELECT ID, [Date], Tagline,
TeamID FROM TabelNavn t1 WHERE
[Date] =
(SELECT MIN([Date]) FROM TabelNavn t2 WHERE [Date] > GETDATE() AND t1.TeamID = t2.TeamID)
ORDER BY TeamID

Med en Subselect, det gør den lidt tung, men jeg kan ikke se at det kan laves uden
Avatar billede agertoft Nybegynder
19. september 2005 - 15:27 #3
Perfekt - lige hvad jeg havde brug for :)
Avatar billede ldanielsen Nybegynder
19. september 2005 - 15:34 #4
Tak
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager

Kalundborg Kommune

Data Scientist / udvikler

MAN Energy Solutions

Cloud FinOps Practitioner

RISMA Systems A/S

Senior PHP-udvikler