2016-12-13 3 views
0

私は、次の5つのテーブルがあります。5つのMySQLテーブルを結合するには?

会社 - id,company

電話 - id,phone

ウェブサイト - id,website

都市 - id,city:各テーブルには2列があり

company 
phone 
website 
city 
state 

状態 - id,state

私がやろうとしているものすべてが(参加?)を組み合わせている各テーブルにidに基づいて、すべての5つのテーブル。

基本的に私は、出力にこのたい:

id, company, phone, website, city, state 

を、これはJOIN声明を通じて行われるべきであると私はStackOverflowの上でこののいくつかの例を見てきたように見えますが、すべての例では、私に乱暴に異なって見えます。

これを行うには誰かが正しい方向に向けるでしょうか?

私はこのコマンドを1回だけ実行する必要がありますが、それは約200万行のテーブルにあります。

+0

我々は会社 'id'列が、連結列(外部キー)、すなわち、他のテーブルの各' id'列として他のすべてのテーブルに使用されていることを前提としていますです??? – RiggsFolly

+0

あなたが試したことを見てみましょう! 2つのテーブルを結合することができれば、100個のテーブルを結合することができます。ちょうど1つのケースまたはアイディア(n)回繰り返す – RiggsFolly

+0

いいえ、それは外部キーとして設定されていません。 「会社」にはすべての「id」が含まれています。他のテーブルには欠落しているテーブルがあります。たとえば、すべての会社が電話番号を持っているわけではありません。 – Andrew

答えて

0

そして、それは簡単な

SELECT c.id, company, phone, website, city, state 
FROM Company c 
    LEFT JOIN phone p ON p.id=c.id 
    LEFT JOIN website w ON w.id=c.id 
    LEFT JOIN city ci ON ci.id=c.id 
    LEFT JOIN state s ON s.id=c.id 
ORDER BY company 
関連する問題