Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 0
  • 1

Dzień dobry,

może problem jest banalny, ale nie dla mnie. Otóż są 4 zespoły, w każdym zespole po kilku pracowników. Ale, np. Pracownik1 z Zespol1 od połowy lutego przeszedł do Zespol4, a od początku maja do nowego Zespol5, tak jak Pracownik8 z Zespol2 i jeszcze 2 pracowników z pozostałych zespołów. Z końcem maja Zespol1 zostaje zlikwidowany. Raportujemy sprzedaż zespołów (odrębnie Pracowników) w systemie dziennym, miesięcznym i kwartalnym. Tabele Pracownicy i Zespoly łączą się przez Id_Zespolu i Id_Pracownika. Każdy pracownik ma datę wejścia/wyjścia z zespołu, każdy zespół ma datę początkową/końcową. Próbowałem różnych rozwiązań, ale nie udało mi się prawidłowo połączyć pracowników z zespołami po zmianie zespołu. W jaki sposób można rozwiązać problem?

Władysław_Wiśniowiecki
  • Zapytał
  • @ Władysław_Wiśniowiecki | 26.05.2021
    • 1
    • 0
    • 2
Komentarze (1)
Załącz szablon bazy i sprecyzuj, jaki wynik chcesz otrzymać, bo bez zobaczenia układu danych w tych tabelach ciężko cokolwiek powiedzieć - domyślam się, że porównanie dat w klauzuli WHERE przy łączeniu tabel to nie jest odpowiedź, jakiej oczekujesz.
Skomentował : @ Mirosław_Janiak ,28.05.2021
  • 1
  • 7
  • 1

Odpowiedzi (2)

  • 0

Cześć,

bardziej chodziło o problem podejścia do rozwiązania. Poradziłem sobie, może mało elegancko i z pewnością mniej wydajnościowo. Podstawowy problem na jaki natrafiłem, to jak powiązać tabele w których z jednej strony każdy zespół miał datę_od, jeden datę_do, pozostałe daty_do null, z pracownikami wędrującymi między zespołami (daty_od i daty_do) z tabelą sprzedaży w której jest paręnaście setek dat. Wpadłem na oczywisty pomysł, aby utworzyć tabele z datami dla zespołów. Czyli mam Zespół i powiązaną z nim datę; dzień po dniu aż do dziś. Do tabeli dołączam kolejne rekordy po załadowaniu tabeli sprzedaży - wszystkie daty większe od zapisanych w tabeli  i zespoły, o ile oczywiście zespół jest aktywny w dacie (ma null w tabeli zespoły data_do). Powiązanie pracowników do zespołami było już proste.

Pozdrawiam

WW

Władysław_Wiśniowiecki
  • Odpowiedział
  • @ Władysław_Wiśniowiecki | 31.05.2021
    • 1
    • 0
    • 2
  • 0

Cześć,

wkradło się pare błędów, więc jeszcze raz

bardziej chodziło o problem podejścia do rozwiązania. Poradziłem sobie, może mało elegancko i z pewnością mniej wydajnościowo. Podstawowy problem na jaki natrafiłem, to jak powiązać tabele w których z jednej strony każdy zespół miał datę_od, jeden datę_do, pozostałe daty_do to null, z pracownikami wędrującymi między zespołami (daty_od i daty_do) z tabelą sprzedaży w której jest paręnaście setek dat. Wpadłem na oczywisty pomysł, aby utworzyć tabele z datami dla zespołów. Czyli mam Zespół i powiązaną z nim datę, dzień po dniu aż do dziś. Do tabeli dołączam kolejne rekordy po załadowaniu tabeli sprzedaży - wszystkie daty większe od zapisanych w tabeli daty  i zespoły, o ile oczywiście zespół jest aktywny w dacie (ma null w tabeli zespoły data_do). Powiązanie pracowników z zespołami było już proste.

Pozdrawiam

WW

Władysław_Wiśniowiecki
  • Odpowiedział
  • @ Władysław_Wiśniowiecki | 31.05.2021
    • 1
    • 0
    • 2