Wykluczenie powtarzających się rekordów

Wykluczenie powtarzających się rekordów
II
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

Witajcie!
Tworząc swój serwis napotkałem na problem powtarzających się rekordów.
Mając do dyspozycji jedynie id_pracodawcy z tabeli oferty powinienem otrzymałem takie dane:
SELECT logowanie.id_usera, logowanie.imie, logowanie.nazwisko FROM logowanie JOIN aplikacje on logowanie.id_usera=aplikacje.id_uzytkownika JOIN oferty ON aplikacje.id_oferty=oferty.id WHERE oferty.pracodawca=39
screenshot-20210104110225.png

Widać tutaj że dane się powtarzają, nie wiem w którym momencie jest błąd.
Krótki opis:
-tabela oferty zawiera informacje na temat dodanych ofert, wśród nich jest ID pracodawcy <- który dodał ofertę.
-tabela aplikacje zawiera id_oferty oraz id_uzytkownika
-tabela logowanie zawiera informacje o uzytkownikach pracodawcach

zarys:
screenshot-20210104110040.png

Chciałbym uzyskać dane (imie nazwisko i id_usera z tabeli logowanie) o użytkownikach którzy aplikowali do danej oferty.

Konkretniej: pracodawca o id 39 jest autorem oferty nr 33.
W tabeli aplikacje są 3 takie rekordy (id oferty: 33 id_uzytkownika 64) i kolejno: (id oferty: 33 id_uzytkownika 65) (id oferty: 33 id_uzytkownika 69)
I połączenie z tabelą logowanie aby wydrukować imię i nazwisko oraz id_usera.

Proszę o wskazanie co mam poprawić aby ta kwerenda zadziałała tak jak powinna.
Dziękuję

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Ale nie pokazałeś nawet zapytania 🙂
Poza tym skoro rekordy się dublują, zakładam ze skorzystałeś nie z tego JOINa z którego powinieneś.

Edit:
Ja bym to zrobił w ten sposób, wydaje mi się, że powinno działać:

Kopiuj
SELECT
aplikacje.id_oferty, logowanie.id_usera, logowanie.imie, logowanie.nazwisko
FROM aplikacje
LEFT JOIN logowanie ON logowanie.id_usera=aplikacje.id_uzytkownika
LEFT JOIN oferty ON aplikacje.id_oferty=oferty.id
WHERE oferty.pracodawca=39

Dodatkowo ujednoliciłbym logowanie.id_usera i aplikacje.id_uzytkownika

II
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

@malkrzysztof: Niestety, taki sam wynik jaki był. Próbuję dobrać się od "drugiej strony" od logowania ale też powtarzają mi się rekordy

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 25
0

Ok, ale napisałeś, że chcesz zobaczyć użytkowników którzy aplikowali do danej oferty.
A na załączonym sreenie dubluja Ci się rekordy bo może jeden użytkownik aplikował na 3 oferty tego samego pracodawcy np. id_usera 69. Jeżeli aplikował do 3 ofert pracodawcy ID 39 to będzie 3 razy.
Pytanie czy chcesz patrzyć w relacji użytkownik - pracodawca, czy użytkownik - oferta.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.