Kiedy przydaje się klauzula UNION



Analityk danych korzysta z hurtowni, a w hurtowni… Nawet główne bazy  w firmach zmienia się. Może na przykład się zdarzyć, iż historia rozliczeń danego kontrahenta, ceny tego samego produktu etc. są na różnych schematach,  siłą rzeczy w różnych tabelach. 
Dane z systemów są zrzucane do hurtowni i tyle. Mało prawdopodobne jest by ktoś przygotował Ci dane w jednej tabeli, zresztą nie ma to sensu, bo trudno odgadnąć wszystkie przyszłe potrzeby.
UNION jest bardzo wygodny by poradzić sobie z połączeniem danych z różnych tabel, a dotyczących tego samego zagadnienia. 

UNION lub UNION ALL łączy wyniki dwóch i więcej zapytań w jedno, są pewne ale:

  • finalne nazwy pól lub aliasów pochodzą z pierwszego zapytania, kolejne nie mają znaczenia
  • liczba pól każdego zapytania łączonego musi być identyczna,
  • format danych analogicznych pól w każdym zapytaniu łączonym (pierwsze pole z pierwszego zapytania i pierwsze pole z drugiego zapytania i tak dalej) musi być identyczny.
UNION – dublujące się rekordy występują raz, UNION ALL rekordy dublujące się są tyle razy ile wynika to z każdego zapytania. Przykład zawsze Marcinie działa najlepiej, zatem mamy następującą sytuację jak na obrazku. Dane o rozliczeniach na koniec 2008 i 2009 są w tabeli ROZLICZENIA_STARE, kolejne lata już są w nowej tabeli, w ROZLICZENIA_NOWE. I Twoim zadaniem jest podanie sumy należności i liczby kontraktów na koniec poszczególnych lat począwszy od końca 2009. Nie wolno Ci to zrobić kalkulatorkiem :-) 
Zadanie rozwiązuję dokładnie jak na drugim obrazku, a źródła do utworzenia tabel, ich zasilenia i kwerendę do wykonania zadania znajdziesz tutaj. 





Brak komentarzy:

Prześlij komentarz