MS Access Abfrage Problem

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/ms_access_abfrage_problem_167947/page_1 - zur Vollversion wechseln!


Facetious schrieb am 30.08.2006 um 11:48

Hi!

Meine Aufgabe ist es Daten zu selektieren. Dabei haben verschiedenste Daten einen Verschiedensten Status (1, 2, 3, 4, 5 und 6).

Ich würde jetzt gerne alle Daten anzeigen, außer Daten mit Status 6, welche älter als 1 Jahr sind.

Ich steh aber im Moment völlig auf der Leitung
Abfrage bisher:

Code:
SELECT Datenblatt.[no], Datenblatt.status, Datenblatt.type, Datenblatt.usage, Datenblatt.object, Datenblatt.country,  .... FROM Datenblatt
WHERE (((Datenblatt.receipt)>Now()-365 AND Datenblatt.status =  "6 canceled"));

klarerweise macht die Abfrage nicht ganz das was ich will, aber ich wüsste nicht wie ich den Status direkt mit dem Datum koppeln soll.

Hoffe auf eure Hilfe!
mfg Facetious


Gulinborsti schrieb am 30.08.2006 um 12:29

Am MSSQL Server würde das ganze so aussehen:

Code:
SELECT bla, bla, bla, ...
FROM Datenblatt
WHERE DATEDIFF(day, receipt, GETDATE()) < 365 AND status = "6 cancelled"

kA, ob das so oder ähnlich in Access auch klappt.


Facetious schrieb am 30.08.2006 um 12:32

Die Abfrage macht ja im Endeffekt genau das gleiche wie meine.

Was ich möchte ist, dass er mir alle Daten mit dem Status 1, 2, 3, 4 und 5 anzeigt.
Darüberhinaus soll er aber auch noch alle Daten mit Status 6 anzeigen, welche nicht älter als ein Jahr sind.

Geht das überhaupt?
mft Facetious


Gulinborsti schrieb am 30.08.2006 um 12:36

EDIT: Sorry, hab dein erstes Posting unaufmerksam gelesen...

Ja klar geht das, schnell würde mir da ein UNION einfallen:

Code:
SELECT bla, bla, bla, ...
FROM Datenblatt
WHERE status <> "6 cancelled"
UNION
SELECT bla, bla, bla, ...
FROM Datenblatt
WHERE status = "6 cancelled" AND DATEDIFF(day, receipt, GETDATE()) < 365

Also im ersten SELECT alle außer status = "6 ..." und im zweiten SELECT alle mit (status = "6 ..." AND nicht älter als ein Jahr)

hth


Facetious schrieb am 30.08.2006 um 12:40

genau das wars was ich gesucht habe!

Super danke!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025