SQL查询报错‘column "a.ParcelID" does not exist’求解决方案
SQL错误解决方案:column "a.ParcelID" does not exist
问题原因
你的SQL语句错误地将表别名与列名用双引号包裹成了一个整体(比如"a.ParcelID"),PostgreSQL会把这个当作一个完整的列名,但你的data表中并不存在名为a.ParcelID的列,因此抛出错误。
报错信息(中文翻译)
错误:列"a.ParcelID"不存在
第4行:on "a.ParcelID" = "b.ParcelID"
^
提示:你可能想引用列a.ParcelID或列b.ParcelID。
修正后的SQL语句
SELECT a."ParcelID", a."PropertyAddress", b."ParcelID", b."PropertyAddress", COALESCE(a."PropertyAddress", b."PropertyAddress") FROM data a JOIN data b ON a."ParcelID" = b."ParcelID" AND a."ID" <> b."ID" WHERE a."PropertyAddress" IS NULL
关键修改点
- 将
"a.ParcelID"改为a."ParcelID":表别名与列名分开,双引号仅包裹列名(如果你的列名是大小写敏感或包含特殊字符,需要保留双引号;如果列名是全小写且无特殊字符,也可以直接写a.ParcelID) - 补充说明:PostgreSQL中没有
ISNULL()函数,替代函数是COALESCE(),功能与ISNULL()一致,用于返回第一个非空值
内容的提问来源于stack exchange,提问作者Yuvraj Bisht
相关产品推荐
相关产品推荐

