webForumDet fria alternativet
Logga in / Bli medlem

SQL-hjälp igen

Databaser & SQL

2 svar · 171 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Trådstart#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)
Medlem sedan dec. 200012 464 inlägg
#2
where startdate <= date()
and (not limitdate 
  or (limitdate and enddate >= date()))
Medlem sedan apr. 20012 427 inlägg
#3

Perfekt som vanligt Lars! :)

256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)