EclipseMedlem sedan juli 20003 825 inlägg [news]
intID
strSubject
strText
dteCreated
dteViewFrom
dteViewTo
***
SELECT n.strSubject, n.strText FROM news n
WHERE n.dteCreated <= date() AND... ???
Detta är min fråga. Om ViewFrom och ViewTo är samma datum då är dom inte giltiga, i annat fall gäller:
dteViewFrom >=date() AND dteViewTo <=date()
Förslag på lösning:
... WHERE n.dteCreated <= date() AND (IF dteViewFrom <> dteViewTo THEN dteViewFrom >=date() AND dteViewTo <=date() )
LarsGMedlem sedan dec. 200012 464 inlägg WHERE n.dteCreated <= date() AND (dteViewFrom <> dteViewTo or (dteViewFrom >=date() AND dteViewTo <=date()))
EclipseMedlem sedan juli 20003 825 inlägg Fungerar måttligt...
Så här blir en response.write på den färdiga frågan:
SELECT m.intID, m.strName, m.strRollOver, m.dteCreated, m.dteViewFrom, m.dteViewTo, m.bolView
FROM [caseMenu] m WHERE m.dteCreated <= date() AND
(m.dteViewFrom <> m.dteViewTo or (m.dteViewFrom >=date() AND m.dteViewTo <=date()))
AND m.bolView = TRUE ORDER BY m.intSortfield;
Alla posterna borde visas men ingen visas...
EclipseMedlem sedan juli 20003 825 inlägg Lösningen:
Byt <> till = på rad 3.
(m.dteViewFrom [b]<>[/b] m.dteViewTo or (m.dteViewFrom >=date() AND m.dteViewTo <=date()))
(m.dteViewFrom [b]=[/b] m.dteViewTo or (m.dteViewFrom >=date() AND m.dteViewTo <=date()))
EclipseMedlem sedan juli 20003 825 inlägg Mera lösning...
Jag har kommit på att det förmodligen måste vara mer åt detta hållet:
SQL = "SELECT m.intID, m.strName, m.strRollOver, m.dteCreated, m.dteViewFrom, m.dteViewTo, m.bolView " _
& " FROM menu m WHERE "_
& " (m.dteCreated <= date() AND m.dteViewFrom = m.dteViewTo " _
& " OR (m.dteCreated <= date() AND m.dteViewFrom <> m.dteViewTo AND (m.dteViewFrom <=date() AND m.dteViewTo >=date())) ) AND " _
& " m.bolView = TRUE ORDER BY m.intSortfield;"