Skocz do zawartości

SQL - funkcje agregujące max,min,avg z wielu tabel


Recommended Posts

Witam, mam problem z wyliczeniem np. max wartości z trzech kolumn a różnych dwóch tabel.

Standardowo napisałbym np. select max(salary) from employees; i w ten sposób wyliczyłbym max wartość z kolumny salary i tabeli employees

ale jak dodać teraz kolejną tabele np. jobs?

Link to post
Share on other sites

Duże znaczenie ma tutaj czy te tabele są ze sobą powiązane czy nie. Jeśli jedna z tabel zawiera klucz obcy do tabeli słownikowej lub to można zrobić coś w tym guście.

SELECT MAX(a.smazwakolumny)

,MAX(b.nazwakolumny)

FROM tabela1 AS a

JOIN tabela2 AS b

ON a.id = b.id

Edytowane przez DiamentoKWZ
Link to post
Share on other sites

Możesz również stworzyć sobie widok dowolnej ilości tabel(jeśli to ma ogólne sens) i w tedy zadajesz zapytanie do widoku jak do normalnej tabeli.

 

Z tego co rozumiem to masz dwie tabele, wynagrodzenie oraz pracownicy, w jednej masz dane pracownika a w drugiej jego kasę, przyjmując że w tabeli kluczem głównym jest id_pracownik, a w tabeli jest klucz obcy id_pracownik oraz klucz obcy id_pracy, a w tabeli praca jest klucz główny id_pracy, zapytanie bym napisał następująco

SELECT MAX(b.wynagrodzenie_prac) FROM pracownicy a, wynagrodzenie b, praca c WHERE a.id_pracownik = b.id_pracownik AND b.id_pracy = c.id_pracy AND a.pesel = 12121211221 AND c.id_pracy=2;

Edytowane przez maden
Link to post
Share on other sites
  • 1 miesiąc temu...

SELECT GREATEST(SELECT MAX(pole1) FROM tabela1, SELECT MAX(pole2) FROM tabela2)

 

To powinno smignac. Oszczedza pamiec i operuje na subzapytaniach. Nie ma joinow wiec powinno byc ok.

 

To wybiera tylko najwieksza wartosc z 2 tabel.

 

PS nie piszcie ze archeologia bo ktos moze kiedys szukac odpowiedzi ktora podalem.

Edytowane przez karer
Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...