W accessie napisałem kwerendę, która ma zadanie zwrócić sumę obliczając wyrażenie. Jednak otrzymuję błąd o treści "Nie można umieścić funkcji agregującej w wyrażeniu (Sum(ROUND(0.01*[vat]*Sum(stan)*[cena_netto]+Sum(stan)*[cena_netto],2)))." dochodzę do wniosku, że chodzi o Sum(stan). Oczywiście próbowałem przeredagować tę kwerendę, ale nie dochodzę do zadowolającego mnie rozwiązania.
Mówiąc rzeczowo, mam poniższą kwerendę i chcę zsumować wszystkie zwracane wartości:
SELECT ROUND(0.01*[vat]*Sum(stan)*[cena_netto]+Sum(stan)*[cena_netto],2) AS [War Brutto] FROM dostawa GROUP BY nazwa_leku, cena_sprzedazy, cena_netto, vat HAVING Sum(stan>0)
Myśłałem, że poniższa kwerenda będzie rozwiązaniem, jednak zwraca błąd, który podałem na początku.
SELECT Sum(ROUND(0.01*[vat]*Sum(stan)*[cena_netto]+Sum(stan)*[cena_netto],2)) AS [War Brutto] FROM dostawa GROUP BY nazwa_leku, cena_sprzedazy, cena_netto, vat HAVING Sum(stan>0)
Proszę o pomoc i pozdrawiam.
Hmmm, jednak coś mnie naszło i znalazłem rozwiązanie. Zostawię dla potomnych:
SELECT Sum([War Brutto]) FROM (SELECT ROUND(0.01*[vat]*Sum(stan)*[cena_netto]+Sum(stan)*[cena_netto],2) AS [War Brutto] FROM dostawa GROUP BY nazwa_leku, cena_sprzedazy, cena_netto, vat HAVING Sum(stan>0))