Oracle 计算平均速率之间的差异
我需要找出过去12个月Oracle 计算平均速率之间的差异,oracle,Oracle,我需要找出过去12个月员工表和非员工表的平均比率之间的差异 以下是我到目前为止的情况: select person.pid, person.firstname, person.lastname, AVG(RATING_RECORD.RATE) from person, client, staff, policy, COVERAGE, RATING_RECORD where person.
员工
表和非员工
表的平均比率之间的差异
以下是我到目前为止的情况:
select person.pid,
person.firstname,
person.lastname,
AVG(RATING_RECORD.RATE)
from person,
client,
staff,
policy,
COVERAGE,
RATING_RECORD
where person.PID = client.PID and
staff.pid = person.pid and
policy.SID =staff.SID and
COVERAGE.PNO = policy.PNO and
COVERAGE.COID = RATING_RECORD.COID;
现在我来谈谈这个问题
select person.pid,
person.FIRSTNAME,
AVG(RATING_RECORD.RATE)
from person
join client on person.pid = client.pid
join staff on person.pid = staff.pid
join policy on staff.sid = policy.sid
join coverage on policy.PNO = coverage.PNO
join RATING_RECORD on coverage.COID = RATING_RECORD.COID
where policy.EXPIRYDATE between '12-NOV-13' and '12-nov-14 '
group by person.PID, person.FIRSTNAME;
但问题是它只显示了3个结果,而不是整个列表
离开我的评论,我带着客户加入进来,提出了
13结果
select person.pid,
person.FIRSTNAME,
AVG(RATING_RECORD.RATE)
from person
join staff on person.pid = staff.pid
join policy on staff.sid = policy.sid
join coverage on policy.PNO = coverage.PNO
join RATING_RECORD on coverage.COID = RATING_RECORD.COID
where policy.EXPIRYDATE between '12-NOV-13' and '12-nov-14 '
group by person.PID, person.FIRSTNAME;
但是我如何让客户返回给我员工和非员工?请您更明确地定义员工和非员工。谢谢,我不知道你所说的定义是什么意思?你想显示哪些列?数据库如何表示一个人是员工还是非员工?例如,一个人可以既是员工又是客户吗?目前,您的查询将只返回那些
PID
s在STAFF
和CLIENT
表中都找到的人。哦,对了,我现在更明白了,我想同时显示员工和非员工,如果他们都在,请显示两次