title image


Smiley Tabelle1 MINUS Tabelle 2 = Rest / WIE???
Hallo!



Ich habe folgendes Problem:



Ich habe zwei Tabellen beide mit Adressen.

Die erste Tabelle (DBADR) beinhaltet 43000 DS mit Adressen.

Die zweite Tabelle (AdrNeu) beinhaltet einen Ausschnitt der Adressen aus der 1. Tabelle mit 33000 Datensätzen.

Die zweite Tabelle hat jedoch nicht alle Felder der ersten Tabelle.



Mein Ziel ist nun die Datensätze rauszufiltern und in einer neuen Tabelle abzulegen die nicht in der 2. Tabelle

enthalten sind.



Hier die Daten zu den Tabellen:



DBMS: MS SQL Server



Tabelle 1: DBADR (43000 Datensätze)



Felder:



FIRMA varchar 40

FIRMA varchar 40

FIRMA2 varchar 40

FIRMA3 varchar 40

ABTEILUNG varchar 40

ANREDE varchar 30

ANREDEBR varchar 40

NAME varchar 40

VORNAME varchar 30

LAND varchar 3

PLZZ varchar 9

ORT varchar 40

STRASSE varchar 40

.....

TELEFON varchar 30

TELEFAX varchar 30

MOBILTEL varchar 40

....

EMAIL varchar 40

INTERNET varchar 50

....

BEMERKUNG text 16

GEBURTSTAG datetime 8

....

ADRESSTYP varchar 20

VKGEBIET varchar 25

BRANCHE varchar 30

BETRIEBSGR varchar 15

RECORDID int 4 NotNull PK





Tabelle 2: AdrNeu (33000 Datensätze)



Felder:



FIRMA varchar 40

FIRMA2 varchar 40

FIRMA3 varchar 40

ABTEILUNG varchar 40

ANREDE varchar 30

ANREDEBR varchar 40

NAME varchar 40

VORNAME varchar 30

LAND varchar 3

PLZZ varchar 9

ORT varchar 40

STRASSE varchar 40

TELEFON varchar 30

TELEFAX varchar 30

MOBILTEL varchar 40

EMAIL varchar 40

INTERNET varchar 50

BEMERKUNG text 16

GEBURTSTAG datetime 8

ADRESSTYP varchar 20

VKGEBIET varchar 25

BRANCHE varchar 30

BETRIEBSGR varchar 15

RID int 4 NotNull PK







Alle Felder in Tab2 sind gleich Tab1 bis auf:

DBADR.RECORDID

und

ADRNEU.RID

Diese beiden ID enthalten leider unterschiedliche Werte (sprich der Datensatz hat in Tab 1 (DBADR) nicht die selbe ID wie in Tab 2 (ADRNEU).

Leider beinhalten manche Felder (bis auf DBADR.RecordID und ADRNEU.RID) auch teilweise NULL als Inhalt.





Nungut, wie schon oben erwähnt, will ich die Datensätze in einer neuen Tabelle speichern

die im Vergleich (DBADR - AdrNeu) übrigbleiben.



Bekomme aber bei meinen bisherigen Select-Versuchen immer nur alle Datensätze angezeigt.

Hier meine bisherigen Versuche:





SELECT *

FROM DBADR d

WHERE (NOT EXISTS

(SELECT 1

FROM adrneu a

WHERE a.Firma = d.Firma AND a.Firma2 = d.Firma2 AND a.abteilung = d.abteilung AND a.anrede = d.anrede AND a.anredebr = d.anredebr AND

a.vorname = d.vorname AND a.land = d.land AND a.plzz = d.plzz AND a.ort = d.ort AND a.strasse = d.strasse AND a.telefon = d.telefon AND

a.telefax = d.telefax AND a.mobiltel = d.mobiltel AND a.email = d.email AND a.internet = d.internet AND a.adresstyp = d.adresstyp AND

a.vkgebiet = d.vkgebiet AND a.branche = d.branche AND a.betriebsgr = d.betriebsgr))



Hat nicht sollen sein - kriege alle 43000 Datensätze







SELECT *

FROM dbadr minus

SELECT *

FROM adrneu



Hab dieses letzte Statement auch mit Angabe der Felder versucht, ging auch nicht - wieder bekam ich alle 43000 Datensätze :o(







SELECT *

FROM DBADR d INNER JOIN

AdrNeu a ON d.FIRMA = a.FIRMA AND d.FIRMA2 = a.FIRMA2 AND d.ABTEILUNG = a.ABTEILUNG AND d.ANREDE = a.ANREDE AND

d.ANREDEBR = a.ANREDEBR AND d.VORNAME = a.VORNAME AND d.LAND = a.LAND AND d.PLZZ = a.PLZZ AND d.ORT = a.ORT AND

d.STRASSE = a.STRASSE AND d.TELEFON = a.TELEFON AND d.TELEFAX = a.TELEFAX AND d.MOBILTEL = a.MOBILTEL AND d.EMAIL = a.EMAIL AND

d.INTERNET = a.INTERNET AND d.ADRESSTYP = a.ADRESSTYP AND d.VKGEBIET = a.VKGEBIET AND d.BRANCHE = a.BRANCHE AND

d.BETRIEBSGR = a.BETRIEBSGR



Dieses Statement gab gar keine Ergebnis :o(





Ich hoffe irgend jemand kann mir den entscheidenden Tipp geben, wie ich das hinkriegen kann.

Vielen Dank im Voraus!



Wir leben alle unter dem gleichen Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: