Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Struktura firmy w SQL w DB2
kubagogo
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 13.10.2010

Ostrzeżenie: (0%)
-----


Hej mam takie pytanie

mam tabele z pracownikami firmy, w niej 6 pracownikow i 2 kierownikow. Chcialbym ich wyswietlic tak, ze jako pierwszy jest kierownik a pod nim jego trzech podwladnych. W tabeli znajduje sie kolumna w ktorej oznaczeni sa kierownicy cyfra 1. natomiast kazdy z pracownikow ma przypisana kolumne z numerem swojego kierownika

W wyniku najlepiej bylo byc cos w takim rodzaju otrzymac
Nazwisko Kieronik
Kowalski
Nowak Kowalski
Klos Kowalski
Gola Kowalski
itd

I pod nimi 2 kierownik i trzech podwladnych pod nim.
Czy istaniej do tego jakas funkcja? Dodam, ze to jest pod DB2, czyli struktura drzewa z Oracla chyba nie przejdzie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Zrobiłem sobie u siebie w bazie taką samą tabelę i powiem Ci, że wyciągnięcie tego przy obecnej strukturze jest mało realne, brak punktu zaczepienia (a raczej brak wartości), aby to normalnie posegregować. Problem rozwiązuje się wtedy, gdy NULL przy kierownikach zastąpimy ich ID. Wtedy takie zapytanie:

  1. SELECT * FROM `pracownicy` ORDER BY his_kier ASC, is_kier DESC;


Daje nam dokładnie to co chcesz osiągnąć.

Jak zrobić, aby kierownik mający obecnie wpisane NULL w polu 'his_kier' mial tam swoje id? Wykonujemy takie zapytanie:

  1. UPDATE `pracownicy` AS t1 LEFT JOIN `pracownicy` AS t2 ON t1.id = t2.id SET t1.his_kier = t2.id WHERE t1.his_kier IS NULL


Zrób sobie kopie tabeli i sprawdź to co podałem.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 19:21