webForumDet fria alternativet

Koppla ihop datum med vecka?

Databaser & SQL

5 svar · 600 visningar · startad av Travoni

Medlem sedan okt. 20041 556 inlägg
Frågan#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

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)