我现在被困住了。我正在MS Access中为我们的体育俱乐部创建体育数据库,并且有以下问题...
所以我有: Tbl_Player(玩家ID,名字,姓氏,位置,最小发挥,进球,助攻,黄色,红色)
Tbl_Player_Match(FK Tbl_Player_Player_ID,最小打,进球,助攻,黄色,红色)。
我需要以下的努力。当添加匹配项并将数据保存在tbl_Player_Match中时,我需要将其保存在Tum_Player的“摘要”表中。
我无法为此找到正确的语法,是否应该使用统计信息创建另一个临时表?我应该在这里简单地添加一个SQL代码吗?
非常感谢您的帮助。
鲍勃
答案 0 :(得分:0)
我告诉你,你不应该在tbl_Player中存储一个求和值。仅存在播放器的特征,例如名称,位置等。 对于Output,您将创建一个查询,该查询将如下所示:
Select p.Player_ID, p.Firsname, p.Lastname, p.position, SUM(pm.Min_Played) as Sum_Min_Played
//, Count(pm.Tbl_Player_Match_ID) as Matches_Played
From
Tbl_Player p inner join Tbl_Player_Match pm on p.Player_ID = pm.Tbl_Player_Player_ID
group by p.Player_ID, p.Firsname, p.Lastname, p.position
如果有,Matches_Played只是一个附加项。例如匹配表的ID。 告诉我它是否对您有帮助。
答案 1 :(得分:0)
我强烈建议仅使用查询在运行时提取总计:
SELECT ID
, Naam
, Achtenaam
, SUM(Goals) as Total
FROM Speler LEFT JOIN SpelerStats ON Speler.ID = SpelerStats.Speler
GROUP BY ID
, Naam
, Achtenaam
如果必须将其添加到表中,则必须使用domain aggregate function:
UPDATE Speler
SET Total = DSUM("Goals","SpelerStats","SpelerStats.Speler = " & Speler.ID)