我在Postgres中有两个表,我试图比较,并且无法从一个子串访问子串并将其与另一个子串进行比较。我对Postgres很新(特别是通过PGadmin的SQL),所以所有的建议都很有帮助。
我正在尝试计算两个表之间相似的ID号的数量,但由于连接的FIPS代码,一组数字比另一组长。如果我不需要,我不想修剪数据,所以现在我有:
select count(ID_A) from server.table1
where(ID_A is not null
and ID_A in (select (substring(ID_B from 3 for 8) from server.table 2)))
答案 0 :(得分:0)
我会回答,因为我对你的查询有所了解。如果是拼写错误,我会在您更新原始问题后将其删除。
select count(ID_A)
from server.table1
where ( ID_A is not null
and ID_A in (select (substring(ID_B from 3 for 8)
from server.table2)
) ^
) |_ This parenthesis is in wrong place
请注意,它是缺少的括号或过多的括号。
正确的查询是:
select count(ID_A)
from server.table1
where ID_A is not null
and ID_A in (select substring(ID_B from 3 for 8)
from server.table2)
正如@ZiggyCrueltyfreeZeitgeister指出的那样,你实际上并不需要ID_A is not null
但是只有当你没有空值时才会这样做。