2017-02-08 9 views
0

Ich habe zwei Tabellen mit allen Arten von Spalten. Lässt so etwas wie dies sagen:Mischen Sie zwei Tabellen in Sql nach Informationen aus einer dritten Tabelle

Tabelle 1:

Modell | Code1 | Jahr | Typ

Tabelle 2:

Name | Code2 | serielle |

Jahr

Ich brauche sie in eine neue Tabelle

Tabelle 4 zu fusionieren:

newModel | neuerName | neuJahr | neuer Code1 | neuer Code2 | neueSerien | newType

basierend auf Informationen aus einer dritten Tabelle.

Die dritte Tabelle hat folgende Angaben -

(Table1)Code | (Table2)Code And (Table2)Serial | Year | Type 

123   | 42326 - 45622 (xxxx-yyyy)  |2007 | Car/Truck 

ich die ersten beiden Tabellen auf die Einzelheiten dieser dritten Tabelle wie folgt übereinstimmen müssen,

t1.Code = t3.Code 
AND t2.Code= t3.Code 
AND t2.Serial = t3.Serial 
AND t1.Year = t2.Year = t3.Year 
AND t1.Type = t3.Type 

Und dann die gemischten Daten einfügen in die 4. neue Tabelle, die auch ein wenig andere Namen hat. (andere Sprache).

Vielen Dank im Voraus für alle Richtlinien.

+1

Sie sollten Ihre Tabellen Strukturen teilen. – Sankar

+0

Ich habe einige grundlegende Tabellenstruktur hinzugefügt, hoffe, es macht die Frage klarer. – kresa

Antwort

0

Sie suchen nach einem join. Basierend auf dem, was Sie beschreiben, würde die Abfrage wie folgt aussehen:

select t1.Model, t2.name, t1.year, t1.code1, t2.code2, 
     t1.year, t2.serial, t1.type 
from t3 join 
    t1 
    on t1.Code = t3.Code and 
     t1.Year = t3.Year and 
     t1.Type = t3.Type join 
    t2 
    on t2.Code = t3.Code and 
     t2.Serial = t3.Serial and 
     t2.Year = t3.Year; 
Verwandte Themen