2 つのテーブルから選択して、WHERE (PL/SQL) を使用してデータを別のテーブルに配置しようとしています。
私はそれらのような2つのテーブルを持っています:
表1
ID NAME COLOR COMPANY_SHORT_NR
1 a Green 1
2 b Red 23
3 c Blue null
4 a Green null
5 g Green 1
テーブル2
ID SHORT COMP_NAME
1 1 company_name_1
2 23 comapny_name_2
そして今、テーブル1からすべてのデータを会社名で取得したいと思います.nullの場合、そのようにnullになります
1 a Green company_name_1
2 b Red comapny_name_2
3 c Blue null
4 a Green null
5 g Green company_name_1
私はこのようにしてみました:
select ID
,NAME
,COLOR
,COMPANY_SHORT_NR
from table1
,table2
where COMPANY_SHORT_NR = SHORT
しかし、これはnull値ではありません:
1 a Green company_name_1
2 b Red comapny_name_2
5 g Green company_name_1
このようにsthを使用する場合:
select ID
,NAME
,COLOR
,COMPANY_SHORT_NR
from table1
,table2
where COMPANY_SHORT_NR = SHORT or COMPANY_SHORT_NR is null
私は何千ものレコードを取得します...それIS NULL
よりものみを使用すると、本来あるべき2行しか返されません。
どこで間違えますか?