webForumDet fria alternativet

SQL-hjälp igen

2 svar · 171 visningar · startad av Skarre

SkarreMedlem sedan apr. 20012 447 inlägg
#1

Jag vill hämta alla nyheter ur tabellen "news" som har ett "startdate" tidigare eller likadant som dagens datum, och ett "enddate" senare än dagens datum, och som är "approved". Detta klarar jag naturligtvis, men hjärnan står still när jag ska ta med "limitdate" i frågan.

Om "limitdate = True" (d.v.s. om man valt att sätta ett slutdatum för nyheten) ska nyheten hämtas endast om inte "enddate" passerat.

Om "limitdate = False", då ska nyheten hämtas även om "enddate" råkar ha passerat.

Hur löser jag det? Jag har försökt själv men det blir bara gröt av alltihopa.

News

newsid		(räknare)
adminid		(tal)
headline	(text)
startdate	(datum/tid)
enddate		(datum/tid)
limitdate	(ja/nej)
approved	(ja/nej)
LarsGMedlem sedan dec. 200012 465 inlägg
#2
where startdate <= date()
and (not limitdate 
  or (limitdate and enddate >= date()))
SkarreMedlem sedan apr. 20012 447 inlägg
#3

Perfekt som vanligt Lars! :)

122 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
119 ms — hämta tråd, inlägg och bilagor (db)