webForumDet fria alternativet

Aggregate Function

2 svar · 185 visningar · startad av ElMaco

ElMacoMedlem sedan juni 2000161 inlägg
#1
sqlStr = "SELECT a.artnamn, a.artikelnr, a.utpris, SUM(p.antal) AS totSum " & _
                "FROM Artikel a, Kundorder o, På p " & _
                "WHERE p.artikelnr = " & artikelnr & _
                " AND a.artikelnr = " & artikelnr & _
                " AND p.ordernr = o.ordernr " & _
                " AND o.orderdatum >= #" & startDatum & "#" & _
                " AND o.orderdatum <= #" & slutDatum & "#"

Fel någonstans i aggregate function. Jag brukar kunna summera talen i den delmängd. Vad är fel? Ser inte...

Mvh

Magnus

------------------
To understand recursion, we must first understand recursion.

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Det går inte att blanda aggregatfunktioner och kolumnreferenser om man inte har en group by med.

Du kan ju lägga summeringen som en skalär subselect i kolumnlistan.

------------------
essentitia preter non sans multiplicandum

ElMacoMedlem sedan juni 2000161 inlägg
#3

Så här blev den till slut:

sqlStr = "SELECT DISTINCT totSum, a.artnamn, a.artikelnr, a.utpris " & _
                "FROM Artikel a, På p, (SELECT SUM(p.antal) AS totSum " & _
                "FROM På p, Kundorder o " & _
                "WHERE p.ordernr = o.ordernr " & _
                "AND p.artikelnr = " & artikelnr & " " & _
                "AND o.orderdatum >= #" & startDatum & "# " & _
                "AND o.orderdatum <= #" & slutDatum & "#) " & _
                "WHERE p.artikelnr = a.artikelnr " & _
                "AND a.artikelnr = " & artikelnr

Tack för hjälpen. Det blev lite sent i dag... :)

------------------
To understand recursion, we must first understand recursion.

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb