Problem z kwerendą w Access

0

Utworzyłem kwerendę

SELECT Wysyłka.Wspólnota, Wysyłka.Cena, Sum(Wysyłka.Ilość) AS Ilość, (Wysyłka.Cena*Ilość) AS Suma
FROM Wysyłka
GROUP BY Wysyłka.Wspólnota, Wysyłka.Cena;

, która z poniższej tabeli

Identyfikator Wspólnota Data Cena Ilość
1 test1 02.02.2019 2,3 5
2 test1 16.02.2019 7,88 2
3 test2 15.02.2019 6,8 1
4 test2 15.02.2019 7,88 2
5 test1 28.02.2019 7,88 3
6 test1 08.02.2019 6,8 3

wyciąga dane

Wspólnota Cena Ilość Suma
test1 2,3 5 20,00 zł
test1 6,8 3 15,00 zł
test1 7,88 5 30,00 zł
test2 6,8 1 5,00 zł
test2 7,88 2 12,00 zł

Niestety w kolumnie suma występują błędne wyniki i nie wiem gdzie popełniam błąd. Kolumna suma ma pokazać wynik mnożenia ceny i ilości

0

Brakuje ci sum przed iloczynem

0
Panczo napisał(a):

Brakuje ci sum przed iloczynem

Dodając sum - SUM(Wysyłka.Cena*Ilość), otrzymuję komunikat że podkwerendy nie mogą być stosowane w wyrażeniu (Wysyłka.Cena*Ilość)

0

To jest właściwość Accessa. Gdybyś utworzył od razu taką kwerendę, to by przeszła. A że modyfikowałeś, to już nie :)
SUM(Wysyłka.Cena*Wysyłka.Ilość)
I nie używaj PLiterek w nazwach obiektów.

0

Ja bym bardziej spodziewał się błędu o wywołaniu cyklicznym, co ma miejsce jak alias jest taki sam jak nazwa kolumny...

0

Utworzyłem nową kwerendę i zmieniłem ilość na cos, ale niestety efekt ten sam :( SELECT Wysyłka.Wspólnota, Wysyłka.Cena, Sum(Wysyłka.Ilość) AS cos, SUM(Wysyłka.Cena*cos) AS Suma FROM Wysyłka GROUP BY Wysyłka.Wspólnota, Wysyłka.Cena;

0

Ale to jest głupie co chcesz zrobić... Powyżej pisałem rozwiązanie..

0

Dałem sobie spokój na jakiś czas, ale wróciłem do tematu ponownie, problem polega na tym, że pole Cena w tabeli Wysyłka to odnośnik do tabeli Cena SELECT [Cena].[Identyfikator], [Cena].[Cena] FROM Cena; i zamiast otrzymać wyniki mnożenia ceny.ceny * ilość otrzymuję wynik mnożenia ceny.identyfikator*ilość :) I dzięki temu już wiem, że właściwe zapytanie to : SELECT Wysyłka.Wspólnota, Wysyłka.Cena, Sum(Wysyłka.Ilość) AS Ilość, SUM((Select cena from Cena where Cena.Identyfikator = Wysyłka.Cena)*Wysyłka.Ilość) AS Suma FROM Wysyłka GROUP BY Wysyłka.Wspólnota, Wysyłka.Cena;

1 użytkowników online, w tym zalogowanych: 0, gości: 1