需要为以下方案创建视图

  • 本文关键字:方案 创建 视图 sql oracle
  • 更新时间 :
  • 英文 :


有一个由4列组成的Athelete表。

AtheleteID - Primary Key varchar(20)
name - varchar(20)
country - varchar(20)
rank - integer

还有另一个参与表,上述 atheletes 参与事件。 由 4 列组成。

AtheleteID - Foreign Key varchar(20)
EventID - Composite Primary Key varchar(20)
EventDate - date
position - integer

问题: 我需要创建一个名为 TopAtheletes 的视图。 视图属性包括 AtheleteID、姓名、排名和它们获得位置的次数(1、2 或 3(

如何创建视图? 我一直在查询运动员达到位置 1、2 或 3 的次数。

您可以先计算他们获得最高位置的次数,然后可以将其与运动员表一起加入 -

CREATE VIEW VW_ATHLETE_INFO
AS
SELECT A.AtheleteID
,A.name
,A.rank
,P.cnt
FROM Athelete
JOIN (SELECT AtheleteID, COUNT(CASE WHEN position <= 3 THEN 1 END) CNT
FROM Participate
GROUP BY AtheleteID) P ON A.AtheleteID = P.AtheleteID

相关内容

  • 没有找到相关文章

最新更新