我尝试从两个表中选择并使用 WHERE (PL/SQL) 将一些数据从一个到另一个
我有两张这样的桌子:
表格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
但这给我的不是空值:
1 a Green company_name_1
2 b Red comapny_name_2
5 g Green company_name_1
如果我这样使用某事:
select ID
,NAME
,COLOR
,COMPANY_SHORT_NR
from table1
,table2
where COMPANY_SHORT_NR = SHORT or COMPANY_SHORT_NR is null
我得到了数以千计的记录......如果我只使用IS NULL
它,它只会返回我应该的 2 行。
我在哪里犯错?