Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pole kombi zależne od wartosci poprzedniego pola w tabeli, Wybór GrupyPracowników w zależności od przydzielonego Kierownika
wojciechwww
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.10.2007

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


Witam exclamation.gif! smile.gif

Proszę bardzo o pomoc w następującym problemie sad.gif

Otóż mam trzy tabele:Pracownik, Kierownik, GrPracownikow
 
Typy sprzężeń są wszędzie typu 1 czyli "Zawiera tylko te wiersze w których sprzężone pola w obu tabelach są równe"

1) W tabeli Pracownik wybieram za pomocą pola kombi ID_kierownik jednego z kierowników tabeli Kierownik.
2) Chciałbym w drugim kroku aby następne pole kombi wybierło tylko te ID_GrPrac (ID grupy pracowników) z tabeli GrPracownikow, 
które w polu ID_kierownik mają taką samą wartość jak pole ID_kierownik w aktualnie uzupełnianym rekordzie (danych pracownika) tabeli Praco
nik

Sama hierarchia między tabelami jest OK (tak jak chciałem) czyli
Pod osobę KIEROWNIK
podlegają GrPracownikow
na które składa się lista pewnych PRACOWNIKÓW

Poniżej rysunki




BARDZO PROSZĘ O POMOC GDYŻ ŚCIERAM SIĘ Z TYM JUŻ MIESIĄC a niedługo musze oddać gotową bazę na studiach i brak możliwości automatycznego segregowania możl
wych
 do wybrania GrupPracowników w zależności od wybranego już Kierownika będzie kos
towało mnie
minimalnie jeden stopień mimo mojej ciężkiej pracy :/

Jeśli ktoś mi pomoże kilka razy to napewno postaram się jakoś odwdzięczyć

Dodam jeszcze że :
Wykonałem już tyle kombinacji, że już nie wiem czy zrobiłem błąd w typach sprzężeń między tabelami czy poprostu nieumiejętnie tworzę zapytanie wybierające dane sad.gif

Np.
Zapytanie
SELECT GrPracownikow.ID_GrPrac FROM GrPracownikow RIGHT JOIN Pracownik ON GrPracownikow.ID_Kierownik = Pracownik.ID_Kierownik;
Wypisuje mi taki wynik :
1
3
2
4
5
6
Zatem ustawia elegancko kolejno GrupyPracowników według przypisanych im ID_Kierownik'a
GrPracownikow 1 i 3 należą do kierownika o ID=1
GrPracownikow  2 i 4 należą do kierownika o ID=2
GrPracownikow  5 i 6 należą do kierownika o ID=3
Ale wynikiem jaki potrzebuję jest jest np
1 i 3 do wyboru w polu kombi komórki GrPracownikow jeśli w polu ID_kierownik jest warość 1

Na podstawie doświadczeń widze że poprostu moja funkcja SELECT wybiera wszystkie kolejne rekordy Pracownik.ID_kierownik i wybiera wszystkie odpowiadające im rekordy GrPracownikow.ID_GrPracownikow
Dowodzą tego dwa poniższe zrzuty ekranów dla tych samych pracowników przyporządkowanych
1) kolejno wszystkich do kierownika z ID_kierownika=1
  

2) kolejno
Pracownik o ID_pracownik=1 do Kierownika o ID_kierownika=1
Pracownik o ID_pracownik=2 do Kierownika o ID_kierownika=2
Pracownik o ID_pracownik=3 do Kierownika o ID_kierownika=3


Chciałbym jednak żeby funkcja SELECT użyta w polu kombi komórki Pracownik.ID_GrPracownikow wybierała tylko te ID_GrPracownikow z tabeli GrPracownikow które odpowiadają przypisanemu ID_kierownik do pojedynczego pracownika z tabeli Pracownik.

OGÓLNIE PYTANIE BRZMIAŁOBY TAK :
Jak skonstruować zapytanie SELECT które wybiera wiele rekordów z tab2 odpowiadaj
cych pojedynczemu rekordowi z tab1 questionmark.gif

PROSZE O POMOC  
Go to the top of the page
+Quote Post
spook
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 1.12.2006
Skąd: Łowicz

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


Witam
Dobrze, że zamieściłeś schemat powiązań między tabelami. Błędny niestety.

Tabelę "Kierownik" powiązałeś relacją jeden-do-wielu z tabelą "GrPracowników" oraz relacją wiele-do-wielu poprzez tabelę "Pracownik"!!!

Postarajmy ustalić jakie są założenia semantyczne projektowanej bazy danych:
1. Wnioski z Twojego projektu:
- Pracownik ma jednego kierownika
- Pracownik należy do jednej grupy
- Kierownik przynależy do wielu grup
Trzymając się tego zlikwiduj połączenie między tabelą "Kierownik" a "GrPracowników".

Spróbuj teraz zaprojektować kwerendę.
Jeżeli nie będzie działać pytaj. (Tylko trochę prościej smile.gif Napisz po prostu jaki wynik chcesz uzyskać, bo to co dla Ciebie jest zrozumiałe, dla innych być może już takie nie jest smile.gif a długich tekstów niekiedy nie chce się analizować)
Pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 17:00