添加其他列访问
Adding other columns Access
我必须在 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
以及我的其他列?
当您将手头的数据分组后,您的 SELECT
只期望其中一个...所以您不知何故取出了一个逻辑值。
这就是我们使用AGGREGATE
函数的原因。就像 SUM()
对分组数据中的所有 TotaalPrijs
进行了加法运算一样。采用 MAX(Dagen)
将从该组中获取一个值。
SELECT
SUM(A.TotaalPrijs) As TotaalPrijs,
A.AutoNR,
A.AutoKlasse,
MAX(Factuur.Dagen) -- < you need just this..!
或将此列也添加到您的分组条件中!
GROUP BY A.AutoNR, A.AutoKlasse,Factuur.Dagen
我必须在 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
以及我的其他列?
当您将手头的数据分组后,您的 SELECT
只期望其中一个...所以您不知何故取出了一个逻辑值。
这就是我们使用AGGREGATE
函数的原因。就像 SUM()
对分组数据中的所有 TotaalPrijs
进行了加法运算一样。采用 MAX(Dagen)
将从该组中获取一个值。
SELECT
SUM(A.TotaalPrijs) As TotaalPrijs,
A.AutoNR,
A.AutoKlasse,
MAX(Factuur.Dagen) -- < you need just this..!
或将此列也添加到您的分组条件中!
GROUP BY A.AutoNR, A.AutoKlasse,Factuur.Dagen