2017-05-08 17 views
-1

私はテーブルがtbl_no2016transtbl_2016_remittbl_2015_remitの3つあります。他のテーブルのデータをmysqlの他のテーブルに存在しない場合に選択する方法

tbl_no2016trans

|PEN|EMPLOYER| 
| 1 | COMP_A | 
| 2 | COMP_B | 
| 3 | COMP_C | 
| 4 | COMP_D | 
| 5 | COMP_E | 

tbl_2016_remit

|PEN|EMPLOYER|2016REMIT| 
| 1 | COMP_A | 1000 | 
| 2 | COMP_B | 1500 | 
| 5 | COMP_E | 2500 | 

tbl_2015_remit

|PEN|EMPLOYER|2016REMIT| 
| 3 | COMP_C | 1000 | 
| 4 | COMP_D | 500 | 

tbl_2015_remit OR tbl_no2016transでのPENが存在するtbl_2016_remitからすべての列を選択する必要があります。

私はこのコードに

SELECT * FROM tbl_2015_remit WHERE PEN IN (SELECT PEN FROM tbl_no2016trans)を使用...しかし、私はそれがtbl_2015_remitに存在しない場合tbl_2016_remitどこから選択*条件を置く方法がわかりません。

LEFT JOINも使用しましたが、まだ失われています。

SELECT * 
FROM 
    tbl_2015_remit 
     LEFT JOIN 
    tbl_2016_remit 
ON tbl_2015_remit.pen = tbl_201c_remit.pen 
WHERE 
    PEN IN (SELECT PEN from tbl_no2016trans) 
+0

tbl_cがどのforiegnキー –

+1

がhttp://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-を参照してください持っています非常にシンプルなSQLクエリ – Strawberry

+0

@ArunKumaresh。いいえ、それらはすべてPENの主キーを持っています。 2つのテーブルのどちらかにしか存在することはできません。 – Clorae

答えて

1

ユニオンを試すことはできますか?

SELECT * FROM tbl_2015_remit WHERE PEN IN (SELECT PEN FROM tbl_no2016trans) 
union all 
SELECT * FROM tbl_2016_remit WHERE PEN IN (SELECT PEN FROM tbl_no2016trans) 
+0

私はこのような騒ぎです。どうもありがとうございます。それは本当に役に立ちました。 – Clorae

関連する問題