摩托车比赛结果SQL查询以选择和插入值或记录

摩托车比赛结果SQL查询以选择和插入值或记录,sql,Sql,我有一个SQL表,PointsClass 此表用于上传每个竞赛级别的摩托车比赛结果。 表中的字段: IDNumber[竞争对手IDNumber,主键] 事件名称[比赛名称] 班级[参赛班级,即OR1、OR2、女士] 位置[比赛结果等级位置,即1、2、3、4等] 类别分数[根据比赛位置完成情况授予的分数] 参赛者可以参加全部或部分比赛,但,因为这是一个竞赛系列,参赛者在参加任何比赛和级别时,不仅必须为其参加的比赛获得分数,还必须为其未参加的比赛获得罚分(以10个扣分作为该选手未参加的比赛的示例)

我有一个SQL表,
PointsClass

此表用于上传每个竞赛级别的摩托车比赛结果。 表中的字段:

  • IDNumber[竞争对手IDNumber,主键]
  • 事件名称[比赛名称]
  • 班级[参赛班级,即OR1、OR2、女士]
  • 位置[比赛结果等级位置,即1、2、3、4等]
  • 类别分数[根据比赛位置完成情况授予的分数]
  • 参赛者可以参加全部或部分比赛,,因为这是一个竞赛系列,参赛者在参加任何比赛和级别时,不仅必须为其参加的比赛获得分数,还必须为其未参加的比赛获得罚分(以10个扣分作为该选手未参加的比赛的示例)

    如果已经进行了3场比赛,并且参赛者进入了“OR1”级别的第4场比赛,则代码必须检查参赛者是否已经进入了“OR1”级别的前3场比赛。如果没有,则我们必须“创建”前3场比赛中的
    参赛者记录
    ,并对每场比赛(不参加该3场比赛)给予10分处罚在同一级别“OR1”中,选手参加了第4场比赛。这将是“位置”或结果字段

    捕获-代码不仅必须奖励10个扣分,而且必须首先检查每个种族在OR1类中有多少个条目,并将扣分加到总数中。例如,种族1在“OR1”类中有30个条目,种族2在“OR1”类中有40个条目,种族3在“OR1”类中有50个条目等级。这意味着比赛1-30+10、比赛2-40+10和比赛3-50+10将受到处罚

    代码我必须“计数”每个类每个事件的条目

    SELECT   EventName, Class, Count(Class)  AS CountofClass
    FROM     PointsClass
    GROUP BY Class, EventName
    ORDER BY EventName
    

    我想遗漏了一些信息。如果你的竞争对手Id号是你的PK,任何竞争对手都只能参加一场比赛。你能告诉我们你尝试了什么,一些不起作用的代码吗?其他细节:我不会创建那些“未输入”的记录,但在需要时进行计算。否则,yuo将无法确定每场比赛的实际参赛人数,因为您为未实际参赛的参赛者创建参赛记录(如果第5场比赛有60名参赛者,则在此之前的每场比赛也将有60名参赛者!)。这将使计算您的扣分更容易,但我认为这不是您想要的。感谢您的回复,是的,您是正确的。如果我添加新记录,我的条目将不准确。我是否仍然可以添加记录,但添加一个指示“非条目”的标记字段在计算实际条目时,可以将其排除在外。Oerkelens,我很想说明什么不起作用,然而,我拥有的是用于导入结果的标准单一代码,另一个用于“如上”计算条目数的代码,但我无法或更确切地说是不称职,甚至无法尝试将我的要求放入代码中。