2017-05-11 6 views
1

Ich habe 2 Tabellen:Mehrere Tabellen SQL mit 1 derselben Spalte

acco_info 
acco_revenue_2016 

Beide Tabellen haben unterschiedliche Spalten mit Ausnahme von 1, acco_id. Diese Spalte verbindet beide Tabellen.

Ich möchte eine Abfrage schreiben, die wichtige Daten aus beiden Tabellen kombiniert und sie mit der acco_id verbindet.

So aus der acco_info Tabelle I die folgenden Spalten müssen:

acco_id, acco_name, region_name, country_name 

Vom acco_revenue_2016 Tabelle ich brauche:

acco_id, sales, revenue_per_item, revenue 

Die Ausgabe sollte wie folgt aussehen:

acco_id, acco_name, region_name, country_name, sales, revenue_per_item, revenue 

Wie schreibe ich diese Abfrage am besten? Ich bin auf

SELECT acco_id FROM acco_info UNION SELECT acco_id FROM acco_revenue_2016 

stecken Dies verbindet die IDs zusammen, aber ich kann nicht einen Weg zeigen auch die anderen Daten.

+4

Sie suchen ein JOIN statt UNION, glaube ich. –

+0

Danke, JOIN hat es tatsächlich geschafft. – user3625849

Antwort

0

Sie werden so etwas suchen;

SELECT 
    ai.acco_id 
    ,ai.acco_name 
    ,ai.region_name 
    ,ai.country_name 
    ,ar.sales 
    ,ar.revenue_per_item 
    ,ar.revenue 
FROM acco_info ai 
INNER JOIN acco_revenue_2016 ar 
    ON ai.acco_id = ar.acco_id 

Dies setzt voraus, dass beide Tabellen die gleiche acco_id enthalten. Beachten Sie die Tabellen-Aliase, um zu sehen, welches Feld von jeder Tabelle kommt.

+0

Danke Rich, der JOIN hat es geschafft! – user3625849

Verwandte Themen