Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie kilkakrotnie tych samych rekordów - jak pominąć
Forum PHP.pl > Forum > Bazy danych > Oracle
dexter22
Wpisuje komendę:

Kod
select pracownicy.imie, pracownicy.nazwisko, stanowiska.srednie_zarobki from pracownicy, stanowiska where stanowisko='Wykladowca';


Owszem pokazuje rekordy, ale kilkakrotnie.... Próbowałem używać jeszcze polecenie DISTINCT, ale bezskutecznie..

Pozdrawiam
Sephirus
Zapoznaj się ze strukturą JOIN w SQL.

To co robisz to iloczyn wszystkich pól tongue.gif Tych rekordów pewnie sporo Ci się wyświetla. Musisz jakoś powiązać tabele pracownicy z tabelą stanowiska... najlepiej pokaż ich strukturę
nospor
Nie określasz łączenia pracownika ze stanowiskiem to zapytanie zwraca ci wszelkie możliwe kombinacje.
dexter22
Poradziłem sobie.

Pozdrawiam
qrooel
Cytat(dexter22 @ 29.12.2011, 11:50:58 ) *
Poradziłem sobie.

Pozdrawiam


No to jeszcze pokaż innym użytkownikom jak sobie z tym poradziłeś, może komuś się przyda.
dexter22
Kod
select pracownicy.imie, pracownicy.nazwisko, stanowiska.srednie_zarobki from pracownicy, stanowiska where stanowisko='Wykladowca';


Cel:

wyświetlenie imienia, nazwiska oraz średnich zarobków, pracowników, którzy są na stanowisku Wykładowcy

Problem:

Cel realizuje się częściowo, ponieważ wyświetla wszystkie możliwe kombinacje

Rozwiązanie:

Tabela STANOWISKA posiada 2 kolumny ( nazwa, średnie zarobki ) a tabela PRACOWNICY między innymi ( stanowisko ) <- ta kolumna tylko nas interesuje, zatem musimy dać warunek WHERE, który wygląda tak:

Kod
WHERE pracownicy.stanowisko=stanowiska.nazwa and stanowisko='Wykladowca';


Całość:

Kod
select pracownicy.imie, pracownicy.nazwisko, stanowiska.srednie_zarobki from pracownicy, stanowiska WHERE pracownicy.stanowisko=stanowiska.nazwa and stanowisko='Wykladowca';

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-2024 Invision Power Services, Inc.