2つのテーブルがあり、それらのテーブル間の共通フィールドが完全に一致する行を選択しようとしていますが、クエリを作成するのは困難です。簡略化したバージョンは次のとおりです。
テーブルは次のようになります(簡略化):
T1: id、name、sn T2: id、location、sn
t1.sn=t2.snの場合にのみt1.nameとt2.locを一緒に取得しようとしています。snフィールドは両方で一意であるため、テーブル間で一致するレコードは最大で1つだけです。t1では、すべてのレコードにsnフィールド値がありますが、t2では、それらの約30%がsnに対してNULLを持っています。したがって、結合によってt1よりもいくらか少ない行が生成されることを期待しています。
どうすれば参加できますか?
ありがとう。
サンプルデータ:
t1: + --- + -------- + ------- + ----- + | id | 名前| sn | ... | + --- + -------- + ------- + ----- + | 1 | things1 | 12345 | | | 2 | things2 | 10000 | | | 3 | things3 | 33445 | | | 4 | things4 | 99223 | | + --- + -------- + ------- + ----- + T2: + ---- + -------- + ------- + ----- + | id | loc | sn | ... | + ---- + -------- + ------- + ----- + | 90 | ここ| 12345 | | | 92 | そこに| NULL | | | 96 | 近く| 33445 | | | 99 | 遠い| 99223 | | + ---- + -------- + ------- + ----- + 結果: + -------- + ------- + ------- + | 名前| loc | sn | + -------- + ------- + ------- + | things1 | ここ| 12345 | | things3 | 近く| 33445 | | things4 | 遠い| 99223 | + -------- + ------- + ------- +