Har ett nyhetssystem där man kan välja att göra en nyhet mer viktig och därmed läggs den överst (Order By). Nu är det så att man kan välja ett slutdatum där den skall sluta vara viktig (sticky).
Om tiden gått ut (Date > StickyDate) skall orderby-satsen ändras, kan m.h.a en IF-sats göra detta?
Kör SQL-server.
SELECT TOP 10 News.id AS ID, News.UID AS UID, News.Date,
News.Subject, News.Message, News.StickyDate, News.Sticky,
Members.UserName , Members.Email
FROM News LEFT OUTER JOIN
Members ON News.UID = Members.id ORDER BY Sticky Desc, Date Desc
SELECT TOP 10 News.id AS ID, News.UID AS UID, News.Date,
News.Subject, News.Message, News.StickyDate, News.Sticky,
Members.UserName , Members.Email
FROM News LEFT OUTER JOIN
Members ON News.UID = Members.id
ORDER BY case when sticky <> 0 and
stickyDate < getdate() then sticky else 0 end desc,
Date Desc