Koppla ihop datum med vecka?

Databaser & SQL

5 svar · 622 visningar · startad av Travoni

Medlem sedan okt. 20041 556 inlägg
Trådstart#1

Har ett enkelt system för stugbokning.
Man väljer datum (Lördag-Lördag och det kan vara fler veckor i följd) i en kalender. Så har jag en databastabell där priset för aktuell vecka finns.
Nu vill jag skapa en funktion för att räkna ut vad gästen skall betala om han tex. väljer veckorna mellan 2008-09-13 till 2008-09-27. Vet inte hur jag skall koppla valda datum till tabellen lixom, och göra beräkningen. Kanske i databasfrågan eller i programkoden.

PId | WeekNo | Price |
----------------------
1   |   36   | 1300  |
2   |   37   | 1500  |
3   |   38   | 1500  |
4   |   39   | 1800  |
osv.

Databasen är mySql 5.0

Medlem sedan mars 20007 896 inlägg
#2
SELECT SUM(yt.Price) AS TotalPrice
FROM YourTable yt
WHERE
   yt.WeekNo >= WEEKOFYEAR('2008-09-13')
   AND
   yt.WeekNo <= WEEKOFYEAR('2008-09-27')

Möjligtvis?

Medlem sedan okt. 20041 556 inlägg
#3

Ok, det funkar med de datumen.
Men om jag ändrar WEEKOFYEAR('2008-09-27') till WEEKOFYEAR('2008-09-13') (två veckor tidigare) så funkar det inte även fast jag har alla veckor inlagda.

Det blir NULL i resultatet.

Medlem sedan mars 20007 896 inlägg
#4

Såg du min redigering? Jag lade in "är större eller lika med" samt "är mindre eller lika med", istället för "större än" och "mindre än". ;)

Medlem sedan okt. 20041 556 inlägg
#5

Detta verkar funka bra:

SELECT SUM(yt.Price) AS TotalPrice
FROM YourTable yt
WHERE
   yt.WeekNo >= WEEKOFYEAR('2008-09-13')
   AND
   yt.WeekNo < WEEKOFYEAR('2008-09-27')

(Ändast mindre-än i den andra)
Tack för hjälpen SPIN!

Medlem sedan dec. 20014 239 inlägg
#6

Flyttas från ASP.NET

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