我在 PostgreSQL 上的数据库迁移过程中卡住了,需要您的帮助。
我有两个需要加入的表:drzewa_mateczne.migracja(我需要迁移的数据)和 ibl_as.t_adres_lesny(我需要加入 migracja 的字典)。
我需要加入他们的 replace(drzewa_mateczne.migracja.adresy_lesne, ' ', '') = replace(ibl_as.t_adres_lesny.adres, ' ', '')。但是我的数据不是很规则,所以我想在第一次与字典匹配时加入它。
我创建了以下查询:
select
count(*)
from
drzewa_mateczne.migracja a
where
length(a.adresy_lesne) > 0
and replace(a.adresy_lesne, ' ', '') = (select substr(replace(al.adres, ' ', ''), 1, length(replace(a.adresy_lesne, ' ', ''))) from ibl_as.t_adres_lesny al limit 1)
该查询不返回任何行。如果没有运行,它确实会成功加入空行
length(a.adresy_lesne) > 0
以下两个查询返回行(如预期的那样):
select replace(adres, ' ', '')
from ibl_as.t_adres_lesny
where substr(replace(adres, ' ', ''), 1, 16) = '16-15-1-13-180-c'
limit 1
select replace(adresy_lesne, ' ', ''), length(replace(adresy_lesne, ' ', ''))
from drzewa_mateczne.migracja
where replace(adresy_lesne, ' ', '') = '16-15-1-13-180-c'
我怀疑我的查询中的“where”子句中的子查询可能存在问题。如果你们能帮助我解决这个问题,或者至少为我指明正确的方向,我将非常感激。
在此先感谢,扬