Longhorn 595 Napisano 22 Kwietnia 2012 Udostępnij Napisano 22 Kwietnia 2012 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? Cytuj Link to post Share on other sites
Gość JackHammer Napisano 22 Kwietnia 2012 Udostępnij Napisano 22 Kwietnia 2012 Semestr temu bym Ci dokładnie powiedział bo akurat miałem podstawy baz danych. http://wazniak.mimuw.edu.pl/index.php?title=Strona_g%C5%82%C3%B3wna Możesz sobie obczaić tą stronę. Tam są potrzebne informacje z baz danych jak i innych przedmiotów. Cytuj Link to post Share on other sites
mICh@eL 335 Napisano 23 Kwietnia 2012 Udostępnij Napisano 23 Kwietnia 2012 Możesz trochę bardziej rozbudować co dokładnie chcesz zrobić? Bo może chodzi Ci o "SELECT MAX('salary') FROM 'employees', 'jobs'"? Cytuj Link to post Share on other sites
DiamentoKWZ 3 Napisano 23 Kwietnia 2012 Udostępnij Napisano 23 Kwietnia 2012 (edytowane) 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 23 Kwietnia 2012 przez DiamentoKWZ Cytuj Link to post Share on other sites
maden 25 Napisano 25 Kwietnia 2012 Udostępnij Napisano 25 Kwietnia 2012 (edytowane) 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 25 Kwietnia 2012 przez maden Cytuj Link to post Share on other sites
karer 10 Napisano 14 Czerwca 2012 Udostępnij Napisano 14 Czerwca 2012 (edytowane) 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 14 Czerwca 2012 przez karer Cytuj Link to post Share on other sites
Alfons 30 Napisano 19 Czerwca 2012 Udostępnij Napisano 19 Czerwca 2012 Wszystkie odpowiedzi na Twoje pytania http://prz.edu.pl/oracle/index.php?go=materialy login: oracle hasło: oracle Cytuj Link to post Share on other sites
Recommended Posts
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ą.