收到两个问题,第一个:

select SUBSTRING ("PriseNom",1,2) as "Chassis", "Date", "Time", sum("Puissance_W") as "Conso en W"
 from "vPe-Pdu"
 where SUBSTRING ("PriseNom",1,2) in ('0G','0H','0I','0J','0K','0L','0M','0N')
 group by 1,2,3
 order by "Date" desc ,"Time" desc, "Chassis" asc
 limit 8

输出Me 8行:

Chassis;Date;Time;Conso en W

0G;2023-08-25;11:00:01;871
0H;2023-08-25;11:00:01;1053
0I;2023-08-25;11:00:01;1147
0J;2023-08-25;11:00:01;1016
0K;2023-08-25;11:00:01;1618
0L;2023-08-25;11:00:01;1214
0M;2023-08-25;11:00:01;1666
0N;2023-08-25;11:00:01;1560

第二个给了我更多的代码行:

select SUBSTRING ("Chassis_Nom",1,2) as "Chassis", count(*) as "Nb Part"
 from "vPower-Lpars"
 where "Date" = (current_date - INTERVAL '1 day')::date
 group by 1;;
Chassis;Nb Part

0a;130
0L;3
0H;39
0J;20
0K;24
0I;39
0M;19
0b;178
0d;46
0G;17
0N;4
0f;49
0e;17

因此,我只想添加‘NB Part’列,以通过连接的方式使用

已try :

select SUBSTRING ("PriseNom",1,2) as "Chassis", "Date", "Time", sum("Puissance_W") as "Conso en W"
 from "vPe-Pdu"
 where SUBSTRING ("PriseNom",1,2) in ('0G','0H','0I','0J','0K','0L','0M','0N')
 group by 1,2,3
 order by "Date" desc ,"Time" desc, "Chassis" asc
 limit 8
LEFT JOIN
select SUBSTRING ("Chassis_Nom",1,2)  as "Chassis", count(*) as "Nb Part"
 from "vPower-Lpars"
 where "Date" = (current_date - INTERVAL '1 day')::date
 group by 1
USING ("Chassis")

但我有一个语法错误,我不知道如何避免(我判断了关键字之间的空格):

ERROR:  syntax error at or near "LEFT"
LINE 5: LEFT JOIN
        ^
SQL state: 42601
Character: 220

当然,我需要在第一个查询中保留我的订单和限额. 那么,我错过了什么?

推荐答案

连接具有不同的语法,您需要对子查询使用括号

SELECT 
    t1."Chassis",t1."Date", t1."Time", t1."Conso en W", t2."Nb Part"
FROM (select SUBSTRING ("PriseNom",1,2) as "Chassis", "Date", "Time", sum("Puissance_W") as "Conso en W"
 from "vPe-Pdu"
 where SUBSTRING ("PriseNom",1,2) in ('0G','0H','0I','0J','0K','0L','0M','0N')
 group by 1,2,3
 order by "Date" desc ,"Time" desc, "Chassis" asc
 limit 8) t1
LEFT JOIN
(select SUBSTRING ("Chassis_Nom",1,2)  as "Chassis", count(*) as "Nb Part"
 from "vPower-Lpars"
 where "Date" = (current_date - INTERVAL '1 day')::date
 group by 1) t2
USING ("Chassis")

Postgresql相关问答推荐

PostgreSQL按描述请求

创建发布性能

为什么 Postgres 中的 now() 和 now()::timestamp 对于 CET 和 CEST 时区如此错误?

数据库所有者无法授予 Select 权限

Postgres 使用不同元素数据类型的订单数据

使用Helm设置PostgreSQL配置

Upper() 不会大写重音字符

如何在plpgsql中找到一行中的最大值?

Postgresql如何从jsonB列的数组中的多个json中 Select 一个值

使用 ON CONFLICT 从 INSERT 返回行,无需更新

从左连接更新 Postgres

升级到 OSX Mavericks 后修复 postgresql

在 PostgreSQL 中将时间转换为秒

如何让 Rails 使用 SSL 连接到 PostgreSQL?

PostgreSQL 可以对数组元素有唯一性约束吗?

查询仅属于特定部门的用户

Postgres 中是否有 MAX_INT 常量?

在 postgres 中存在不同的 string_agg 问题

由于不支持身份验证类型 10,无法连接到 Postgres DB

postgresql 删除级联