![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%)
|
Witam
Moje pytanie brzmi czy da się wykonać zapytanie łączące dane dwóch tabel w taki sposób aby wyciągnąć tylko maksymalną wartość z drugiej tabeli? Np. W pierwszej tabeli mam dane pracowników w postaci id, imie, nazwisko itd, natomiast druga zawiera wpisy w postaci roku. Z tym że w drugiej tabeli może być kilka wpisów dotyczących tego samego id pracownika np: 1=>2010, 1=>2011, 1=>2012. Ja chcę połączyć te dwie tabelki, ale w ten sposób żeby z drugiej wyciągnęło mi tylko maksymalną wartość roku jeśli istnieje. natomiast jeśli nie istnieje to wyciągało pustą wartość. Mam nadzieję że zrozumieliście o co mi chodzi. pozdrawiam |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 30.11.2010 Ostrzeżenie: (0%)
|
Możesz pokazać strukturę tych tabel ?
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%)
|
Da się, ostatni rok wyciągamy dzięki MAX(), grupując po id_pracownika w tabeli z datami, tak przygotowany zestaw dołączamy do tabeli z pracownikami, potrzebując LEFT JOIN, bo może nie być wpisów dla niektórych pracowników.
Czyli na przykład:
Jak to działa: SQLFiddle Ten post edytował pmir13 20.09.2013, 10:57:18 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%)
|
Rewelacja. Dokładnie o to mi chodziło. Widzę że język SQL ma spore możliwości. Dzięki wielkie za ekspresową reakcję. Pozdrawiam.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 21:32 |