2016-08-13 4 views
0

次のように私は2つのテーブルを持って選択します。すべての表1の行と表の充填カラム2

表1:

ID | FName | LName 
1 | A1 | A2 
2 | B1 | B2 
3 | C1 | C2 

を表2:

ID | Price | Month | T1ID 
1 | 5  | 1  | 1 
2 | 5  | 1  | 2 
3 | 5  | 2  | 3 

結果:
月= '1'

ID | FName | LName | Price | Month | T1ID 
1 | A1 | A2 | 5  | 1  | 1 
2 | B1 | B2 | 5  | 1  | 2 
NULL| C1 | C2 | NULL | NULL | 3 
月=

「2」

ID | FName | LName | Price | Month | T1ID 
NULL| A1 | A2 | NULL | NULL | 1 
NULL| B1 | B2 | NULL | NULL | 2 
3 | C1 | C2 | 5  | 2  | 3 

答えて

0

は左のように見えるの結合条件を複数に参加する:

SELECT t2.ID, t1.FName, t1.LName, t2.Price, t2.Month, t1.ID 
FROM Table1 t1 
    LEFT JOIN Table2 t2 ON t1.ID = t2.T1ID AND t2.Month = '1' -- or '2' 

トリックがフィルターに役立ちますON句に追加条件を追加することでフィルタリングを行うことです結合中のレコード。 WHERE節で条件を使用した場合、一部のレコードは結果から除外されますが、これは期待したものではありません。