【发布时间】:2021-10-15 10:13:04
【问题描述】:
我需要创建一个查询,根据资源名称、人员姓名和人员的 uf 代码(无论人员、资源、uf 字段是否为已满。
到目前为止我有这个咨询。
Create table Ordered(
oid int,
movement date,
pid int,
rid int,
amount double,
unitary double,
total double,
Primary key (OID),
Constraint fk_PID Foreign key (PID) references People (PID),
Constraint fk_RID Foreign key (RID) references Resource (RID)
);
Create table Resource(
rid int,
code Varchar(25),
name Varchar(150),
Primary key (RID)
);
Create table People(
pid int,
code varchar(25),
name varchar(150),
FU int,
Primary key (PID),
Constraint fk_FID Foreign key (FID) references FU (FID)
);
Create table FU(
fid int,
code varchar(25),
name varchar(150),
Primary key (Fid)
);
select r.name,p.name,f.code,sum(o.total) from Ordered o
right join resource r on o.rid = r.rid right join
People p on o.pid = p.pid
right join fu f on p.fid = f.fid where o.movement >= '2006-01-01' and o.movement <= '2006-01-31' group by r.name,p.name,f.code
我的问题是当资源或人员为空时查询没有列出
【问题讨论】:
-
不清楚你到底想要什么结果。
标签: sql postgresql join sum aggregate