03. april 2012 - 09:09Der er
10 kommentarer og 1 løsning
Udpege stigende eller faldende værdier ud fra datoer fra tabel
Jeg vil gerne have noget hjælp til at lave en forespørgsel, hvor jeg får listet datoer og værdier som er større end/lig med den foregående record - og en tilsvarende for mindre end/lig med foregående værdi.
SELECT * table WHERE Dato = '01-01' ORDER BY [Værdi] ASC
ASC hvis mindst først
DESC hvis størst først.
Jeg er lidt i tvivl om det er overstående du søger, da jeg ikke helt forstår det format du vil have ud. Men overstående er antaget du er ny til SQL.
mvh
Synes godt om
Slettet bruger
03. april 2012 - 10:32#2
Hvis jeg fprstår di spørgsmål rigtigt skal resultaterne vel være: Med en faldende værdi skal resultatet være 4,2,1,4 Med en stigende værdi skal resultatet være 3,4,6,7
Jeg prøver at tydeliggøre mit problem. Min tabel består af id, dato og værdi. For hver id skal det checkes om id+1 "værdi" er >= id "Værdi" hvilket skal give resultatet:
Det har du ret i, men Id3 skal med da det er den første værdi i en kæde af stigende værdier. Der skal så checkes på at ID2 er større end ID3 og at efterfølgende ID'er er >=id-1
Synes godt om
Slettet bruger
04. april 2012 - 10:29#9
Med denne har du værdi før og efter og så må du kunne lave en regel:
SELECT * FROM ( SELECT s.Id, s.Dato. s.Værdi , tFør.Værdi AS VærdiFør , tEfter.Værdi AS VærdiEfter FROM ( SELECT Id, Dato, Værdi ,(SELECT MAX(Id) FROM Tabel WHERE Id < t.Id) IdFør ,(SELECT MIN(Id) FROM Tabel WHERE Id > t.Id) IdEfter FROM Tabel t ) s RIGHT OUTER JOIN Tabel tFør ON Id = s.IdFør RIGHT OUTER JOIN Tabel tEfter ON Id = s.IdEfter ) z ORDER BY z.Id
Fik queryen til at virke ved at tilføej et par aliasser i right join delen. Tusind tak for hjælpen!
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.