07. april 2009 - 08:44Der er
5 kommentarer og 2 løsninger
Find data fra database ud fra datoer
Jeg har en database fyldt med udstyr. Hvert udstyr har en dato. I 2 sqlsætninger skal jeg finde antal udstyr der er mellem "0-12 mdr" gammelt og "over 12 mdr." gammelt. Det er selvfølgelig ud fra dags dato.
Håber der er nogen der kan komme med en løsning. På forhånd tak.
SELECT tblUdstyr.ID, tblUdstyr.Købt, "1 - 12 mdr" AS Status FROM tblUdstyr WHERE (((tblUdstyr.Købt)>Date()-365)) UNION SELECT tblUdstyr.ID, tblUdstyr.Købt, "Over 12 mdr" AS Status FROM tblUdstyr WHERE (((tblUdstyr.Købt)<Date()-365));
SELECT Dato.Dato1, DateDiff("m",[dato1],Date()) AS Udtryk1 FROM Dato WHERE (((DateDiff("m",[dato1],Date()))>0 And (DateDiff("m",[dato1],Date()))<=12));
Dato = Dinb tabel Dato1 = Dit datofelt
Synes godt om
Slettet bruger
07. april 2009 - 08:58#5
du kan selvfølgelig lave en forespørgsel mere, som finder dem der er ældre end 12 mdr og så lave en UNION på de forespørgsler, dvs. skriv den ene sql sætning skriv union og så skriv den anden sql sætning!~)
Synes godt om
Slettet bruger
07. april 2009 - 09:07#6
man skal lige være opmærksom på at en datediff på måned vil vise at eks. 01-04-2008 vil være indenfor 0-12 mdr. selvom det er d. 7. idag!~)
Synes godt om
Slettet bruger
07. april 2009 - 09:13#7
...egentlig så burde du løse a'la:
SELECT IIf([DitDatoFelt]>=Date()-Format(1,"y"),"0-12 mdr","over 12 mdr") AS Periode FROM DinTabel GROUP BY IIf([DitDatoFelt]>=Date()-Format(1,"y"),"0-12 mdr","over 12 mdr");
...du skal selvfølgelig have flettet resten af din sql ind!~)
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.