【发布时间】:2019-01-04 07:56:44
【问题描述】:
我有这两张表:
rbi_world_holi_prov
accentcity region_name
Madrid Madrid
Barcelona Cataluña
Berlin Berlin
Sevilla Andalucia
rbi_ip
ip city region_name
85.59.64.116 Berlin <null>
195.235.205.150 Madrid <null>
83.231.53.43 Barcelona <null>
2.136.208.188 Sevilla <null>
我想得到这个:
ip city region_name
85.59.64.116 Berlin Berlin
195.235.205.150 Madrid Madrid
83.231.53.43 Barcelona Cataluña
2.136.208.188 Sevilla Andalucia
通过以下查询,我得到了我想要的:
select i.city,i.ip,w.region_name
from rbi_ip as i
inner join rbi_world_holi_prov as w
on lower(i.city) =lower(w.accentcity)
但是,如果我添加这个插入语句:
insert into rbi_ip (region_name)
select i.city,i.ip,w.region_name
from rbi_ip as i
inner join rbi_world_holi_prov as w
on lower(i.city) =lower(w.accentcity)
我明白了:
ip city region_name
85.59.64.116 Berlin <null>
195.235.205.150 Madrid <null>
83.231.53.43 Barcelona <null>
2.136.208.188 Sevilla <null>
<null> <null> Madrid
<null> <null> Cataluña
<null> <null> Berlin
<null> <null> Sevilla
我也尝试了左连接,得到了相同的结果。我该如何解决这个问题?
【问题讨论】:
标签: sql join amazon-redshift sql-insert