Przejdź do treści
ŚredniWaga: 3-5 pkt

Pola Obliczeniowe w Kwerendach

Wyrażenia, funkcje warunkowe i formatowanie wyników w kwerendzie. Zadanie, w którym trzeba policzyć coś, czego nie ma wprost w tabeli.

1. Kiedy potrzebujesz pola obliczeniowego

Treść zadania prosi o wartość, której nie ma w żadnej kolumnie: wartość zamówienia, cenę po rabacie, wiek na podstawie daty urodzenia, marżę procentową. Wtedy tworzysz nową kolumnę wyliczaną w locie, bez zmieniania danych w tabeli.

SELECT nazwa,
     cena,
     ilosc,
     cena * ilosc AS wartosc
FROM zamowienia;

Nazwa nadana przez AS bywa wprost narzucona w poleceniu — wtedy musi zgadzać się co do znaku. To najprostszy punkt do zdobycia i najgłupszy do stracenia.

2. Warunki wewnątrz zapytania

Gdy wynik zależy od warunku — na przykład rabat tylko dla zamówień powyżej progu — użyj konstrukcji warunkowej zamiast liczyć to ręcznie.

SELECT nazwa,
     cena,
     CASE
         WHEN cena > 100 THEN cena * 0.9
         ELSE cena
     END AS cena_po_rabacie
FROM produkty;

W programie Access ten sam efekt osiąga się funkcją IIf(warunek; wartość_gdy_prawda; wartość_gdy_fałsz). Jeśli arkusz wskazuje konkretne środowisko, użyj składni tego środowiska.

3. Funkcje, które warto mieć pod ręką

  • ROUND(wyrażenie; 2) — zaokrąglenie do dwóch miejsc, częste przy kwotach.
  • YEAR(data), MONTH(data) — wyciąganie części daty.
  • LEN() lub LENGTH() — długość tekstu.
  • CONCAT() albo operator sklejania — łączenie imienia i nazwiska w jedną kolumnę.

4. Gdzie najczęściej giną punkty

  • Pole obliczeniowe w WHERE po aliasie. Warunek nie widzi nazwy nadanej przez AS — trzeba powtórzyć całe wyrażenie albo użyć HAVING przy grupowaniu.
  • Dzielenie przez zero, gdy w danych trafi się wartość pusta lub zerowa. Warto zabezpieczyć warunkiem.
  • Brak zaokrąglenia tam, gdzie polecenie mówi o kwocie w złotych i groszach.
  • Zmiana danych w tabeli zamiast policzenia ich w kwerendzie. Zadanie zwykle wymaga, żeby dane źródłowe pozostały nietknięte.

Nadal czujesz się niepewnie?

To tylko jeden z pewniaków. Na kursie przechodzimy przez nie wszystkie, krok po kroku, aż poczujesz ten spokój.

Pomóżcie mi zdać maturę!