2017-09-13 21 views
0

私は5つのテーブルがあるとします。 AIM、BB、Cust、Dc、Empとしましょう。各テーブルにはいくつかの共通IDがあると思います。 各テーブルのデータが必要ですが、最後のテーブルの場合は最初のテーブルからの結合を残しておきます。だから私はどのようにクエリを書くのですか?左結合を結合で結合する方法

Select 
    a.column, 
    b.column, 
    c.column , 
    d.column 
from 
    AIM a, 
    BB b, 
    Cust c, 
    Dc d, 
    Emp e 
Where 
    a.cid = b.cid 
    and a.cid = c.cid 
    and a.cid = d.cid 

は今私の4つのテーブルが参加しましたが、どのように私はあなたがONLYすぐその前のテーブルからテーブルへの参加に限定されていない最初の

+2

あなたは...構文を行く古いANSI89を使用しての習慣から出て行けません。これは、ANSI 92の構文に相応して段階的に廃止されました。 –

+0

最初のcolumsnを副選択に配置し、最後の結合に残しておくことができます。 – mhvelplund

答えて

0

から第五のテーブルに参加左適用されます。あなただけです。

... left outer join emp e 
     on a.CID = e.CID 
1

明示的な結合を使用するようにクエリを変更する必要があります。

Select 
    a.column, 
    b.column, 
    c.column, 
    d.column, 
    e.column 
from 
    AIM a 
    inner join 
     BB b on 
     b.cid = a.cid 
    inner join 
     Cust c on 
     c.cit = a.cid 
    inner join 
     Dc d on 
     d.cid = a.cid 
    left join 
     Emp e on 
     e.cid = a.cid --or what ever condition 

bad-habits-to-kick-using-old-style-joins