SQL anfrage

PseudoReal

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
2.003
Renomée
0
Standort
Frankfurt
hi leutz ich hab folgendes problem.

ich hab 2 tabellen.

tabelle A hat folgenden Inhalt: Nachname, Vorname, Ort (ca 100 Einträge)
tabelle B hat diesen: Nachname, Vorname, Ort, Status (ca 600 Einträge)


Jetzt weiss ich net wie ich die beiden tabellen verknüpfe als ergebnis will ich nur folgendes haben

Nachname, Vorname (von den beiden die übereinstimmen) und den dann dazugehörigen status.

Select A.Nachname,A.Vorname,B.Status
From A,B
Where a.nachname = b.nachname;


aber irgendwie kommt da nicht das raus was ich will oder das was ich erwarte.
denn wenn ich das so mache, komme ich dann auf fast 65000 einträge und dann kommt ne position

Nachname_X, Vorname_X Status_1
Nachname_X, Vorname_X Status_0
Nachname_X, Vorname_X Status_1
Nachname_X, Vorname_X Status_0
Nachname_X, Vorname_X Status_1
Nachname_X, Vorname_X Status_0


das kommt dann nen paar mal verstehe aber nicht wieso
 
Zuletzt bearbeitet:
Versuchs mal hiermit

SELECT A.Nachname,A.Vorname,B.Status
FROM Tabelle A
INNER JOIN Tabelle B
ON (A.Nachname = B.Nachname) AND (A.Vorname = B.Vorname)


Ohne garantie, kann es nicht prüfen und bin mir auch nicht ganz sicher, dass ich dich richtig verstanden habe ;)
 
Joins über textfelder sind nicht sehr glücklich. Üblicherweise sind die Tabellen über Schlüsselfelder verbunden.

Wenn du aber tatsächlich nur die genannten Felder hast, dann ist das was MAjbO geschrieben hat schon ok.


*ABER*
Da du einmal 100 und einmal 600 Datensätze hast, haste vmtl. ne 1:n Beziehung zwischen den Tabellen. Du bekommst also sowviele Datensätze angezeigt wie in Tbl B drin sind (jeden namen mehrfach (im schnitt 6 mal :p )
 
Select A.Nachname,A.Vorname
From A,B
Where a.nachname != b.nachname;

schätze ich doch mal
 
Zurück
Oben Unten