sql - PostgreSQL 错误:“WHERE”处或附近的语法错误
问题描述
我必须在 Postgres 中创建一个简单的视图,但是出了点问题。
我将在下面粘贴我的 SQL 查询:
CREATE OR REPLACE VIEW domotica."sensori-stanze-unita"
AS
SELECT
sens.id_sens,sens.nome,sens.id_stanza,stanz.id,stanz.id_immobile,immo.id
FROM domotica.sensori AS sens
INNER JOIN domotica.stanze AS stanz
INNER JOIN domotica.immobili AS immo
ON stanz.id_immobile = immo.id
WHERE sens.id_stanza = stanz.id;
显示的错误如下
ERROR: syntax error at or near "WHERE"
LINE 9: WHERE sens.id_stanza = stanz.id;
^
解决方案
一个INNER JOIN
requiresON
子句,通常包含连接条件。在这里,您可以将条件从WHERE
子句移动到ON
第一个连接的子句:
CREATE OR REPLACE VIEW domotica."sensori-stanze-unita" AS
SELECT se.id_sens, se.nome, se.id_stanza, st.id AS st_id, st.id_immobile, im.id as im_id
FROM domotica.sensori AS se
INNER JOIN domotica.stanze AS st ON se.id_stanza = st.id
INNER JOIN domotica.immobili AS im ON st.id_immobile = im.id
推荐阅读
- firebase - Firebase 唯一用户 ID,例如 discord,用于添加朋友和登录活动
- express - 如何防止 session 和 session.sig cookie 在使用 cookie-session 中间件的快速应用程序中获得同意之前设置?
- unix - unix ksh如何打印$1和$2的前n个字符
- python - 在散点图上绘制纬度和经度
- php - 如何检查这是否是访客首次访问 Laravel 更新
- javascript - 执行 C# 代码并注册 JavaScript 启动脚本时,如何停止页面刷新?
- python - 按钮类错误:'button_list not defined'... 使用 replit
- reactjs - 导入路径不能以“.tsx”扩展名结尾
- r - 从第一次出现 x 到第 n 次出现 y 捕获
- postgresql - 插入符号在 postgresql 中有什么作用?