• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

sprawdzenie zawartości ze wszystkimi tabelami

Object Storage Arubacloud
+3 głosów
196 wizyt
pytanie zadane 5 października 2021 w SQL, bazy danych przez Lulex Użytkownik (820 p.)
Cześć,

stworzyłem tabelę z 4 kolumnami w której trzymam podstawowe dane o osobie tj. id_osoba, imię, nazwisko i wiek.

Następnie utworzyłem tabelę pracownik, która ma kolumny id_pracownik, stanowisko, pensja, id_osoba oraz tabelę uczeń - kolumny id_uczen, kierunek, stypendium, id_osoba

i teraz chce wyszukać np najstarszą osobę. Wiem jak to zrobić dla dwóch tabel, jednak jak to zrobić z 2+ tabelami? Czy muszę do każdej zrobić oddzielnego join'a czy jest jakaś opcja np "połącz ze wszystkimi tabelami" gdy mam pewność, że ten klucz id_osoba będzie w każdej tabeli?

Zastanawiam się czy mogę jakoś zrobić to od razu w ten sposób, nie chodzi o lenistwo :D ponieważ gdy będę chciał dodać kolejną tabelę np emeryt czy cokolwiek innego to wtedy muszę modyfikować poprzednie zapytanie.

1 odpowiedź

+2 głosów
odpowiedź 6 października 2021 przez SzkolnyAdmin Szeryf (86,360 p.)
Dane o wieku masz w tabeli osoba (pole wiek). Tabele pracownik i uczen są związane z nią relacją 1:1 poprzez klucz obcy  id_osoba. Po prostu szukasz najstarszych osób w tabeli osoba.

chyba, że chodzi o coś innego, wtedy doprecyzuj pytanie - co chcesz otrzymać w wyniku kwerendy.
komentarz 6 października 2021 przez Lulex Użytkownik (820 p.)
Chcę otrzymać wszystkie dane o tej osobie i je pobrać, żeby utworzyć obiekt np employee

Employee dziedziczy atrybuty z klasy abstrakcyjnej person (atrybuty name, surname, age) + ma własne atrybuty tj. position, salary
komentarz 6 października 2021 przez SzkolnyAdmin Szeryf (86,360 p.)
Można skorzystać z połączenia tabel relacją (JOIN), a nazwy pól (* w zapytaniu) pobierzesz przy pomocy funkcji mysli_fetch_field (serwer MySQL).
1
komentarz 6 października 2021 przez Wiciorny Ekspert (270,190 p.)

@Lulex, śmierdzi mi tu javą jak czytam i od razu rzuca mi się na oczy problem implementacji i używanie pewnych mechanizmów encji hiberneta, o których nie masz pojęcia. Ergo jeśli kolekcja agreguje kolekcje z mapowaniem, nie musisz zapytań robić ;] dodtkowo bo hibernate i tak to robi za ciebie kwestia odp. konfiguracji

Druga sprawa jeśli stosujesz dziedziczenie encji automatycznie pola są dziedziczone (wszystkie) i  będą mapowane na odpowiednią tabele 

1
komentarz 7 października 2021 przez Lulex Użytkownik (820 p.)
Masz bardzo dobry węch w takim razie :D

dzięki za wskazówki, poradziłem sobie trochę inaczej i obszedłem to już bezpośrednio w javie składając odpowiednie zapytanie :)
komentarz 7 października 2021 przez Wiciorny Ekspert (270,190 p.)
bo to głównie mylnie jest "przez javovców nazywane " encja -> obiekt -> baza, tak było zanim powstały mikroserwisy i generalnie "event storming"

A sam programuje w javie juz 8 lat w biznesie

Podobne pytania

0 głosów
0 odpowiedzi 95 wizyt
pytanie zadane 20 stycznia 2021 w SQL, bazy danych przez Piotr Jarema Użytkownik (970 p.)
0 głosów
1 odpowiedź 176 wizyt
pytanie zadane 16 stycznia 2018 w SQL, bazy danych przez ThreeG Nowicjusz (170 p.)
0 głosów
0 odpowiedzi 118 wizyt
pytanie zadane 26 lipca 2016 w SQL, bazy danych przez Ehlert Ekspert (212,670 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...