Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensätze ausschließen

Begonnen von datekk, April 25, 2016, 16:12:12

⏪ vorheriges - nächstes ⏩

datekk

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?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Beaker s.a.

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

datekk

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...
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Beaker s.a.

Hallo datekk,
SELECT P.Zahl
FROM tblPos AS P
WHERE P.Zahl Not In (SELECT N.Zahl FROM tblNegativ AS N)

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

datekk

Tip Top... Danke.   :) Ahhhh... ich muss noch viel lernen....  ??? ::)
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

MzKlMu

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.
Gruß Klaus

datekk

Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Beaker s.a.

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.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

datekk

@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.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps