Jag har en tabell med öppettider: Jag testade att göra så här: Pice of cake.sql sats
lokalid int,
dow int,
open time,
close time
dow = day of week, 0=söndag, 6=lördag.
Jag vill lista öppettiderna en vecka framåt för en viss lokal.
Om det är onsdag (dow=3) vill jag visa i ordningen: 3, 4, 5, 6, 0, 1, 2
Hur fixar jag den sorteringen?Sv: sql sats
SELECT datepart(dw, datum) as no,
datepart(dw, getDate()) as idag,
datepart(dw, datum) - 7 * (datepart(dw,datum)/datepart(dw, getDate())) as tmp
FROM tblDagar
order by tmp
där datum är ett datum vilket som helst, som jag tar ut vilken veckodag
det är. Sedan tar jag ut dagens datum och den sista kolumnen är den
ordning jag vill att det ska sorteras i. Jag har från dag 1 tom 7, därav -7
du bör byta till -6 eftersom du har 0 tom 6.
/EmmaSv: sql sats
Om det är SQL Server:
SELECT *
FROM dbo.öppettider
ORDER BY (dow + 3) % 6
Eller Access:
SELECT öppettider.*
FROM öppettider
ORDER BY (öppettider.dow+3) Mod 6;
Du ersätter 3 med aktuell veckodag.