Vi har gjort ett bokningssystem för bokningar av bowlingbanor. På en administratörssida har vi radat upp alla bokningar så att administratören ska kunna kolla av bokningarna plus radera bokningar. Jag undrar nu hur man ordnar bokningarna efter veckodagarna. Om jag tar Order By veckodag så ordnar den veckodagarna i bokstavsordning. Istället vill jag ha måndag först och tisdag sen osv. SELECT * FROM bokningar Vi har inget datum att utgå ifrån utan bara vecka och veckodag. Så hur gör vi då? select att använda ett datum eller två datum(Från första och till sista dagen av en period) är en mer lämplig möjlighet. Datum är ju anpassade efter kalendern och har funktioner för att manipulera dem.Order by Veckodag
Tack...Sv: Order by Veckodag
ORDER BY DATEPART(dw, datum)
Tänk på att det är inte säkert att måndag räknas som dag 1 i veckan, det beror på regionala inställningar i maskinen. Man kan använda SET DATEFIRST 1 för att tvinga måndagar att räknas först.Sv: Order by Veckodag
Tacksam...Sv: Order by Veckodag
veckodag
from
bokning
Order by
case
when veckodag='måndag' then 0
when veckodag='tisdag' then 1
when veckodag='onsdag' then 2
when veckodag='torsdag' then 3
when veckodag='fredag' then 4
when veckodag='lördag' then 5
when veckodag='söndag' then 6
end
är en lösning även om du borde lagra datum i en databas i stället för vecka veckodagSv: Order by Veckodag
Om du vill fortsätta som du har det idag. Bör du åtminstonde normalisera detta genom att bryta ut veckodag till en egen tabell. På så sätt kan du sortera talet som är länkad till veckodagstabellen: