webForumDet fria alternativet

Access 07: Hämta * och exclude x

4 svar · 541 visningar · startad av Mattias Nordin

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#1

Hej alla, är det någon som fortfarande arbetar eller är alla ute i solen?

Jag behöver lära mig hur man exkluderar vissa poster ur en select fråga där ett fält = x.

Tänker mig något liknande:

SELECT * FROM T_database
WHERE is_published = true
AND NOT dateDiff('d', T_case.closed_date, date()) > 1

Jag vill alltså visa alla rader i databasen där published = true. Jag vill även visa alla rader där close_date < 1 dag gammalt. Sedan vill jag exkludera alla andra rader som har ett close_date som är > 1 dag gammalt...

Finns det något sätt att kör if... i en sql fråga?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Typ:

SELECT * FROM T_database 
WHERE (is_published = true OR dateDiff('d', T_case.closed_date, date()) < 1)
AND NOT dateDiff('d', T_case.closed_date, date()) > 1
Mattias NordinMedlem sedan dec. 20051 056 inlägg
#3

Trevligt att se @nders på plats :)

Jag har blivit totalt förvirrad av min fråga nu.

Antar att det jag vill göra är

SELECT * FROM T_database 
'Hämta alla som är publiserade från databasen...
WHERE (is_published = true)
'Ignorera alla som har ett close date äldre än en dag...
AND NOT dateDiff('d', T_case.closed_date, date()) > 1

Vad händer i alla de fall då close_date returnerar null? Alla dessa rader vill jag ha med.

@ndersMedlem sedan juni 200032 969 inlägg
#4

Prova att byta

AND NOT dateDiff('d', T_case.closed_date, date()) > 1

mot

AND (dateDiff('d', T_case.closed_date, date()) <= 1 OR T_case.closed_date IS NULL)
Mattias NordinMedlem sedan dec. 20051 056 inlägg
#5

Bingo. Det var alla nullvärden som gjorde mig förvirrad. Tackar för hjälpen. Nu är det nog dags att gå ut och ta lite sol...

127 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)