Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: datekk am April 25, 2016, 16:12:12

Titel: Datensätze ausschließen
Beitrag von: datekk am April 25, 2016, 16:12:12
Hi. Ich möchte ein Mailing machen und habe dafür zwei Abfragen generiert. Eine positiv Abfrage und eine negativ Abfrage. Positiv sind beispielsweise alle Kunden meiner Datenbank. Negativ sind Kunden, die in laufendem Vertragsverhältnis sind, und kein Mailing erhalten sollen.

Beide Abfrage füge ich in einer Abfrage zusammen. Nun sollen in dieser Abfrage alle IDs der Kunden rausfliegen, welche in beiden Listen vorkommen. Die Positiv-Liste soll also um die IDs der Negativliste bereinigt werden.

Wie gehe ich da vor?


SELECT Abfr_Mailing_Positiv.Anrede, Abfr_Mailing_Positiv.Nachname, Abfr_Mailing_Positiv.EmailAddress1, Abfr_Mailing_Positiv.ID_Kunde, Abfr_Mailing_Negativ.ID_Kunde
FROM Abfr_Mailing_Positiv LEFT JOIN Abfr_Mailing_Negativ ON Abfr_Mailing_Positiv.ID_Kunde = Abfr_Mailing_Negativ.ID_Kunde
WHERE (((Abfr_Mailing_Positiv.EmailAddress1) Is Not Null) AND ((Abfr_Mailing_Positiv.ID_Kunde)<>[Abfr_Mailing_Negativ].[ID_Kunde]));


Bringt gar kein Ergebnis...

Woran liegt das?
Titel: Re: Datensätze ausschließen
Beitrag von: Beaker s.a. am April 25, 2016, 16:48:54
Hallo datekk,
Dies sollte helfen,
http://www.donkarl.com?FAQ3.16 (http://www.donkarl.com?FAQ3.16)
gruss ekkehard
Titel: Re: Datensätze ausschließen
Beitrag von: datekk am April 25, 2016, 17:50:09
Hi. Danke, aber der Link entspricht nicht der Fragestellung. Nochmal zur Erklärung:

TblPositiv enthält ALLE Datensätze
TblNegativ enthält bestimmte Datensätze

Die Datensätze, welche in TblNegativ sind, sind auch alle in TblPositiv enthalten.
TblPositiv enthält aber viel mehr Datensätze als TblNegativ.

Nun möchte ich aus der TblPositiv NUR die Datensätze Anzeigen, welche NICHT IDENTISCH mit TblNegativ sind.

Beispiel:

tblPos:
1
2
3
4
5
6

tblNegativ
2
3
4


Gesuchtes Ergebnis:
1
5
6


In meiner realen Umgebung sind es statt Tabellen aber Abfragen, falls dies ggf. eine Rolle spielt...
Titel: Re: Datensätze ausschließen
Beitrag von: Beaker s.a. am April 25, 2016, 18:13:09
Hallo datekk,
SELECT P.Zahl
FROM tblPos AS P
WHERE P.Zahl Not In (SELECT N.Zahl FROM tblNegativ AS N)

gruss ekkehard
Titel: Re: Datensätze ausschließen
Beitrag von: datekk am April 25, 2016, 18:25:18
Tip Top... Danke.   :) Ahhhh... ich muss noch viel lernen....  ??? ::)
Titel: Re: Datensätze ausschließen
Beitrag von: MzKlMu am April 25, 2016, 18:48:00
Hallo,
oder so:
SELECT ZahlPos
FROM tblNeg RIGHT JOIN tblPos ON tblNeg.ZahlNeg=tblPos.ZahlPos
WHERE ZahlNeg Is Null

Dürfte bei großen Datenmengen auch schneller sein.
Titel: Re: Datensätze ausschließen
Beitrag von: datekk am April 25, 2016, 20:31:41
Danke auch Dir Klaus.
Titel: Re: Datensätze ausschließen
Beitrag von: Beaker s.a. am April 26, 2016, 00:11:39
SELECT ZahlPos
FROM tblNeg RIGHT JOIN tblPos ON tblNeg.ZahlNeg=tblPos.ZahlPos
WHERE ZahlNeg Is Null

Was dann der FAQ entspricht, und ich mir gleich gedacht habe, aber nach
datekks Einwand nicht mehr getestet habe.
Titel: Re: Datensätze ausschließen
Beitrag von: datekk am April 26, 2016, 16:02:21
@Beaker: ja, mir kam die Formulierung in der FAQ so vor, als würde sie nicht zur Problemstellung passen, was sie wohl aber tut. Sorry. Da hatte ich wohl einen Knick im Kopf.