Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciaganie danych z kilku tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
AvantaR
Mam 3 tabele - pracownik, zatrudnienie, stopien.

W tabeli pracownik mam miedzy innymi klucz obcy odnoszacy sie do klucza glownego z zatrudnieniu i tak samo ze stopniem.

Chce za pomoc jednego zapytania wyciagnac dane z tabeli pracownicy oraz dane z poszczegolnego pola tabel zatrudnienie i stopien. Uzylem takiej kwerendy :
  1. SELECT * FROM pracownik, stopien, zatrudnienie
  2. WHERE pracownik.IDstopien = stopien.IDstopien AND pracownik.IDzatrudnienie = zatrudnienie.IDzatrudnienie AND pracownik.IDpracownik = 4

Niestety problem jest taki, ze wyskakuje mi kilkanascie razy ten sam pracownik. Dopiero dodaniu GROUP BY IDpracownik zostaje jeden.

Czy ktos wie co moze byc nie tak? Gdzie jest blad, jak najlepiej to napisac (moze byc jakis przyklad z JOIN).

Z gory dziekuje za pomoc.

Ps. Jesli gdzie powtorzyl sie juz ten problem to przepraszam i prosze o wstawienie linka i zamkniecie tematu.
Indeo
Na mój gust zdecydowanie lepiej jest używać JOIN'ów

  1. SELECT * FROM pracownik P
  2. INNER JOIN stopien S ON P.IDstopien=S.IDstopien
  3. INNER JOIN zatrudnienie Z ON P.IDzatrudnienie=Z.IDzatrudnienie
  4. WHERE P.IDpracownik = 4
AvantaR
Dziwne, wczesniej probowalem juz JOIN i w ogole nie chcialo mi cos dzialac. Teraz dziala, poprawilem inne zapytania z WHERE i wszystko smiga, az milo smile.gif

Dzieki wielkie za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.