2016-09-24 1 views
0

Ich habe drei Tabellen Person, Adresse und ID.Tabellen verbinden und zum Vergleich anzeigen

ID-Tabelle hat zwei Spalten ID1 und ID2. Ich versuche, Daten von Person und Adresse zu holen, um zu vergleichen, wie ich unten angezeigt habe.

Wenn ID1 = Person.ID = Address.ID und ID2 = person.ID = Address.ID

________________________________________________________________________ 
name 1 age1 address1 city1 name2 age2 address2 city2 
_________________________________________________________________________ 
abc  34 123 street LA  abc 34  111 street LA 
xyz  22  New Street DC  xyz 22  New Street DC 
___________________________________________________________________________ 

Also im Grunde möchte ich anhand von ID1 und zweiten Halb ersten Hälfte der obigen Tabelle angezeigt werden von die Tabelle mit ID2. Wie kann ich diese Arbeit machen? Ich bin neu bei Fragen, jede Hilfe wird geschätzt.

+0

Wenn Sie können, buchen Sie Ihre Tabellenstruktur. Die Tabelle ist nicht in der richtigen Reihenfolge. Nehmen Sie bitte Änderungen vor –

+0

Sie können mehr Hilfe erhalten, wenn Sie angeben, was Ihr ursprüngliches Geschäftsproblem ist. Zum Beispiel spekuliere ich in einem Kommentar zu Gordons Antwort, was Ihr Geschäftsfall sein könnte. Wenn dies tatsächlich der Fall ist, müssen Sie möglicherweise keine Daten nebeneinander anzeigen. Es gibt bessere Möglichkeiten, diese Vergleiche zu machen. – mathguy

+0

Wir sind dabei, Datensätze zu konsolidieren, die ID-Tabelle enthält die Zeilen der Datensätze, die als wahrscheinliche Kandidaten gefunden wurden. Wir wollen sie so in ein Excel-Format bringen, dass wir alle Rekorde nebeneinander sehen können, ich weiß, es hört sich alt an, aber das ist der Plan. –

Antwort

0

Ich glaube, Sie sind für so etwas wie folgt aussehen:

select p1.name as name1, . . . 
from id join 
    address a1 
    on id.id1 = a1.id join 
    person p1 
    on id.id1 = p1.id join 
    address a2 
    on id.id2 = a2.id join 
    person p2 
    on id.id2 = p2.id; 

Hinweis: Ihre Datenstruktur sehr seltsam scheint. Eine Spalte namens id, die zwischen zwei verschiedenen Entitäten ("Person" und "Adresse") geteilt wird, scheint mir nicht korrekt zu sein.

+0

Speculating ... vielleicht hatten sie die gleichen Informationen (ID, Name, Adresse) an zwei parallelen Orten und jetzt konsolidieren sie Sicherstellen, dass es richtig gemacht wurde? Die gleichen Informationen in diesem System hatten ID1, in der anderen ID2 ... jetzt konsolidieren sie? – mathguy

+0

Absolut richtig, also wollen wir einen Bericht erstellen und vergleichen. Die IDs in der ID-Tabelle sind Zeilennummern, um die Daten von diesen jeweiligen Tabellen zu holen. –