PostgreSQL中创建含agent_email字段的关联视图问题
解决视图字段显示为?column?的问题
正确的视图创建语句
CREATE VIEW calendar_with_agent_email AS SELECT c.id, c.agent_id, c.date, c.location, a.email AS agent_email FROM calendar c LEFT JOIN agent a ON c.agent_id = a.id;
问题原因
出现?column?是因为你查询时未给从agent表获取的email字段指定明确别名agent_email,数据库无法识别该字段名称,因此用默认占位符显示。
建议使用LEFT JOIN而非内连接,这样即使calendar表中存在未匹配到agent_id的记录,视图也会保留这些行,agent_email字段会显示为NULL,不会丢失整行数据。
验证视图
创建完成后,执行以下语句查看视图内容:
SELECT * FROM calendar_with_agent_email;
内容的提问来源于stack exchange,提问作者zoro
相关产品推荐
相关产品推荐

