• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Postgres rekurencyjne zapytanie

0 głosów
607 wizyt
pytanie zadane 3 czerwca 2021 w SQL, bazy danych przez Gerlach Nowicjusz (220 p.)

Witam, mam do zrobienia zapytanie rekurencyjne do tego zadania:

"2. Za pomocą hierarchicznego (rekurencyjnego) zapytania (https://www.postgresql.org/docs/9.5/querieswith.html) pobierz dane wszystkich pracowników posortowane zgodnie z zajmowanym przez nich miejscem w hierarchii organizacyjnej firmy. Zacznij od stanowiska najwyższego szczebla tj. dyrektora (Karolina Karolińska, bez przypisanej wartości w kolumnie przełozony_id). Do wyników dołącz kolumnę szczebli_do_najwyzszego_stanowiska (dyrektorowi przypisz wartość równą 0, patrz tabela 2). Następnie skonstruuj drugie zapytanie, które pobierze w pierwszym wierszu wyników jakiegoś pracownika najniższego szczebla np. Adama Adamskiego, drugi wiersz będzie zawierał jego przełożonego itd., aż do ostatniego wiersza zawierającego dane dyrektora. Do wyników dołącz kolumnę szczebli_od_najnizszego_stanowiska."

Podpowiedź z instrukcji:

Mój kod:

WITH RECURSIVE hierarchia_pracownikow AS (
 SELECT *, 0 AS szczebli_do_najwyzszego_stanowiska
 FROM pracownik
 WHERE przelozony_id IS NULL 
 UNION ALL
 SELECT p.*, (szczebli_do_najwyzszego_stanowiska + 1) as szczebli_do_najwyzszego_stanowiska
 FROM pracownik AS p
 JOIN hierarchia_pracownikow AS hp ON hp.przelozony_id=p.przelozony_id )
  SELECT * FROM hierarchia_pracownikow;

I sprawa wygląda tak, że obojętnie w jaki sposób dam warunek złączenia, to zawsze mam tylko taki wynik:

Czy mógłby ktoś podpowiedzieć co jest źle w warunku złączenia? Godzinę się z tym męczę.

 

 

 

1 odpowiedź

0 głosów
odpowiedź 14 czerwca 2021 przez bwaluk Mądrala (5,440 p.)
 JOIN hierarchia_pracownikow AS hp ON p.przelozony_id=hp.pracownik_id

 

Podobne pytania

+1 głos
1 odpowiedź 2,254 wizyt
pytanie zadane 24 czerwca 2018 w SQL, bazy danych przez Vxid Functixn Bywalec (2,720 p.)
+1 głos
2 odpowiedzi 444 wizyt
0 głosów
2 odpowiedzi 456 wizyt

93,632 zapytań

142,556 odpowiedzi

323,058 komentarzy

63,141 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...