webForumDet fria alternativet

Ge träff om tid befinner sig inom angivet intervall

Databaser & SQL

7 svar · 411 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej :e

Sitter här och försöker göra lite nytta.... ;)

Jag skulle vilja göra följande:

Lista upp var mina montörer befinner sig baserat på data i tblTime och tblTask

I tblTime har jag kolumnerna StartDate och StopDate

ex
startDate: 2006-03-09 07:00:00
stopDate: 2006-03-09 16:00:00

Dessa två datum bygger således upp en tid på 9 timmar

Hur gör jag frågan för att ge träff om denna tid är inom spannet "idag och en vecka bakåt i tiden"?

SELECT tblTask.Id, tblTime.Id, tblTask.Task, tblTask.CustomerName, tblTime.StartTime, tblTime.StopTime, tblTime.User
FROM tblTask INNER JOIN tblTime ON tblTask.Id = tblTime.Id
Where tblTask.Status = 3 AND ...

Hmmm, hoppas någon fattar... :)

Använder access...

//Henrik

Medlem sedan dec. 20025 483 inlägg
#2
where tbltask.status = 3
  and tbltime.startdate >= dateadd("ww",-1,now())
  and tbltime.stopdate  <= now()
Medlem sedan jan. 20013 582 inlägg
#3

Hej! :)

Jag är inte riktigt med..... (som vanligt...)

Men..

Eftersom alla tider är inom samma dag kanske man bara behöver ta ett datum... ???tiderna sträcker ju sig inte över flera dagar.. (även om de iofs skulle kunna göra det)
Eftersom det inte handlar om någon exakt vetenskap, utan bara en funktion som visar var montörerna befinner sig, kanske det räcker.. eller?

Luddigt kanske

//Henrik

Medlem sedan jan. 20013 582 inlägg
#4

Hmmm
Får följande fel:

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/frames/mainFrame.asp, line 62, column 60
"Where tblTask.Status = 3 AND tbltime.startdate >= dateadd("ww",-1,now())"
-----------------------------------------------------------^

med

sSQL = 	"SELECT tblTask.Id, tblTime.Id, tblTask.Task, tblTask.CustomerName, tblTime.StartTime, tblTime.StopTime, tblTime.User " &_
				"FROM tblTask INNER JOIN tblTime ON tblTask.Id = tblTime.Id " &_
				"Where tblTask.Status = 3 AND tbltime.startdate >= dateadd("ww",-1,now())"

varför?

//Henrik

Medlem sedan juni 200032 967 inlägg
#5

För att du inte ska ha citationstecken i din SQL-sats, eftersom du då bryter av din ASP-variabel. Använd apostrofer istället.

Medlem sedan jan. 20013 582 inlägg
#6

Givetvis är det så..... :r

//H

Medlem sedan jan. 20013 582 inlägg
#7

men grrrr!

Jag har följande:

SELECT tblTask.Id, tblTime.Id, tblTask.Task, tblTask.CustomerName, tblTime.StartDate, tblTime.StopDate, tblTime.User, tblTask.Status
FROM tblTask inner join tblTime ON tblTask.Id = tblTime.Id
Where tblTask.Status = 3 And tbltime.startDate >= dateadd('ww',-1,now())

tbltime.startDate är 2006-03-10 12:00:00

och
tblTask.status är 3

Varför får jag ingen träff?

//Henrik

Medlem sedan jan. 20013 582 inlägg
#8

oj...

Jag fick ingen träff för att jag joinat tabellerna fel.... (använt fel id....)

Nu funkar det!

//Henrik

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)