我必须为Access中的汽车制作DBMS。但我遇到了问题。在我之前的问题中,我得到了这个代码,它解决了我的第一个问题。但现在我只获得了TotalPrijs
,AutoNR
和Klasse
列。但我还需要:Factuur.Dagen
,Factuur.KlantNR
等。我通常使用SELECT
执行此操作但现在代码更复杂,我不知道如何在不出错的情况下获取它
这是我的代码。
SELECT
SUM(A.TotaalPrijs) As TotaalPrijs,
A.AutoNR,
A.AutoKlasse
FROM
(SELECT Factuur.Dagen, Factuur.AutoNR AS carNR, autos.AutoNR, autos.Klasse AS AutoKlasse, Prijzen.Klasse, Prijzen.dag125KM, Prijzen.ExtraKM, (prijzen.dag125KM*Factuur.Dagen) AS MinPrijs, Factuur.FactuurNR, Factuur.KlantNR, Factuur.Begindatum, Factuur.Einddatum, Factuur.Borg, (((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125))*[Prijzen]![ExtraKM])+([Prijzen]![dag125KM]*[Factuur]![Dagen])) AS TotaalPrijs, Gegevens.voorletters, Gegevens.tussenvoegsel, Gegevens.achternaam, Gegevens.straatnaam, Gegevens.huisNR, Gegevens.Postcode, Gegevens.rekeningNR, Gegevens.Plaats, (([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-Dagen*125) AS KMteVEEL
FROM autos, Factuur, Prijzen, Gegevens
WHERE (((Factuur.AutoNR)=Autos.AutoNR) And ((autos.Klasse)=Prijzen.Klasse) And ((Factuur.KlantNR)=Gegevens.KlantNR))
) AS A
GROUP BY
A.AutoNR, A.AutoKlasse
如何添加Factuur.Dagen
和Factuur.KlantNR
以及其他列?
答案 0 :(得分:0)
如果您手头有数据分组,而SELECT
只需要其中一个......那么您可以取出一个逻辑值。
这就是我们使用AGGREGATE
功能的原因。就像SUM()
在您的分组数据中添加了所有TotaalPrijs
一样。从MAX(Dagen)
获取该组中的一个值。
SELECT
SUM(A.TotaalPrijs) As TotaalPrijs,
A.AutoNR,
A.AutoKlasse,
MAX(Factuur.Dagen) -- < you need just this..!
OR 也将此列添加到您的分组条件中!
GROUP BY A.AutoNR, A.AutoKlasse,Factuur.Dagen