在PostgreSQL的数据库迁移过程中,我遇到困难,需要您的帮助。PGSQL - 在复杂的条件下连接两个表
我有两个表,我需要加入:drzewa_mateczne.migracja(我需要迁移的数据)和ibl_as.t_adres_lesny(字典我需要加入migracja)。
我需要加入他们替换(drzewa_mateczne.migracja.adresy_lesne,'','')=替换(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'子句。如果你们可以帮我解决这个问题,或者至少让我指向正确的方向,我会非常感激。
由于提前, 扬
这里后续问题:http://stackoverflow.com/questions/16570597/joining -two-tables-in-a-complex-query-not-uniform-data –