![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() Registriert seit: 01.12.2003
Beiträge: 234
|
![]() Hallo, ich bin ein ziemlicher Access Anfänger darum bitte nicht lachen falls es simpel ist!
![]() Ich habe 2 Tabellen. In beiden Stehen zb Rechnungsnummern. Jetzt sollte ich als Ergebniss eine Liste haben die mir zeigt welche Rechnungsnummern nicht in beiden Tabellen enthalten sind. Wie kann ich das am einfachsten und schnellsten lösen? Muss ich dafür wirklich eine If Formel verwenden? Wenn ja wie geht die? ![]() Danke schon mal!
____________________________________
Theorie ist, wenn man alles weiss aber nichts funktioniert. Praxis ist, wenn alles funktioniert aber keiner weiss warum, Bei uns sind Theorie und Praxis vereint. Nichts funktioniert und keiner weiss warum. |
![]() |
![]() |
![]() |
#2 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Ähnliches Problem, ähnliche Lösung
Dh. für die eine Tabelle: SELECT Rechnungsnummer FROM Tabelle1 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle2) und für die andere Tabelle: SELECT Rechnungsnummer FROM Tabelle2 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle1) Wenn du jetzt die beiden Abfragen kombinieren willst: SELECT Rechnungsnummer, 'nur in 1. Tabelle' as Information FROM Tabelle1 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle2) UNION ALL SELECT Rechnungsnummer, 'nur in 2. Tabelle' as Information FROM Tabelle2 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle1) viel Spaß, mfg T. Ps: ich habs ausn Kopf getippt und ned getestet |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() Registriert seit: 01.12.2003
Beiträge: 234
|
![]() Danke für die Hilfe werde es ausprobieren!
Kann ich diese Select abfrage einfach in das Feld Kriterien eingeben und dann müsste es funktionieren? Oder hab ich das falsch verstanden...
____________________________________
Theorie ist, wenn man alles weiss aber nichts funktioniert. Praxis ist, wenn alles funktioniert aber keiner weiss warum, Bei uns sind Theorie und Praxis vereint. Nichts funktioniert und keiner weiss warum. |
![]() |
![]() |
![]() |
#4 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Am einfachsten: neue Abfrage -> Entwurfsansicht -> Umschalten auf SQL-Ansicht -> das ganze Sql-Statement reinkopieren.
Zweite Variante: du stellst die Abfrage ganz normal in der Entwurfsansicht zusammen und schreibst dann im Kriterium für die Rechnungsnummer "NOT IN (SELECT Rechnungsnummer FROM Tabelle2)" rein. Bzw. heißt es im deutschen Access wohl "nicht in (SELECT ...)". Wenn du die letzte Abfrage, die die beiden kombiniert verwenden willst, kannst du sie nur direkt in SQL reinkopieren, sonst checkt Access das nicht. Hoffe das war halbwegs verständlich ![]() mfg Thomas |
![]() |
![]() |
![]() |
#5 |
Veteran
![]() Registriert seit: 01.12.2003
Beiträge: 234
|
![]() Super danke es funktioniert!
![]()
____________________________________
Theorie ist, wenn man alles weiss aber nichts funktioniert. Praxis ist, wenn alles funktioniert aber keiner weiss warum, Bei uns sind Theorie und Praxis vereint. Nichts funktioniert und keiner weiss warum. |
![]() |
![]() |
![]() |
#6 |
Veteran
![]() Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320
|
![]() Ich glaube, sub-selects werden bei vielen Datensätzen ziemlich langsam. Ich würde einen Join bevorzugen:
Alle aus Tabelle1, die in Tabelle 2 nicht vorhanden sind: Code:
SELECT Tabelle1.* FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.code = Tabelle2.code WHERE Tabelle2.code Is Null;
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur. http://www.chili-it.at |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|