PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL anfrage


PseudoReal
27.09.2004, 16:36
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

MAjbO
27.09.2004, 19:56
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 ;)

EoR
04.10.2004, 16:03
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 )

PseudoReal
13.10.2004, 15:19
okay und sagt mal wie bekomme ich die raus, die nicht übereinstimmen ???

[P3D] NE0
13.10.2004, 16:29
Select A.Nachname,A.Vorname
From A,B
Where a.nachname != b.nachname;

schätze ich doch mal

PseudoReal
17.10.2004, 16:19
ne da er jeden mit jeden vergleicht geht das nicht :(

hab ich auch schon versucht.



Copyright © 1999 - 2011 Planet 3DNow!
Rechtliche Hinweise