webForumDet fria alternativet

Flera öppettider för företag

Databaser & SQL

0 svar · 279 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Hej! alla finurliga människor :)

Jag har en databas med 2 stycken tabeller...en med företag och en med öppettider.

Companies
========
CompanyId, INT
CompanyName, VC

OpeningHours
=========
OHID, INT
StartTime, VC
StopTime, VC
CompanyId, INT
OpenDay, INT

Jag sparar alltså öppettiderna som ex. (startTime)10.00 (StopTime)20.00 och dagarna som INT.
(OpenDay) 1 = mån, 2 = Tis osv.

till detta har jag en lagrad procedur som ser ut såhär:

DECLARE @TimeNow char(10)

SET @TimeNow = RIGHT('0'+CONVERT(VARCHAR,DATEPART(hh,GETDATE())%24),2)+'.'
+RIGHT('0'+CONVERT(VARCHAR,DATEPART(mi,GETDATE())%24),2)

SELECT Company.CompanyId,Company.CompanyName,OpeningHours.StartTime,OpeningHours.StopTime 
FROM Companies INNER JOIN OpeningHours ON Company.CompanyId = OpeningHours.CompanyId 
WHERE (Opentime.OpenDay = @Day) AND (@TimeNow BETWEEN OpeningHours.StartTime 
AND OpeningHours.StopTime)

Detta funkar ju jättefint sålänge företaget bara har en öppettide från och till.
Men när ett företag t.ex. har öppet mellan 10.00-12.00 och 15.00-22.00.

hur ska man göra då för att få ut den "andra" tiden också?

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)