Witam. Mam tabelę Pracownicy z kolumnami: Nazwisko, Zarobki, Id_działu
1. Jak napisać zapytanie aby wyświetlić osoby, które mają zarobki większe niż średnia w ich dziale?
2. Jak wyświetlić najlepiej zarabiających pracowników w poszczególnych działach?
1. A) obliczyć średnią z działu
pokazać tych z tego działu, którzy mają wartość powyżej obliczonej z A)
2. A) ob liczyć wartość maksymalną z działu
pokazać tych z tego działu, którzy mają taką wartość jak ta z A)
1. Właśnie tak zrobiłem, wyliczyłem średnią z działu 1 i wyświetliłem osoby z działu 1 z zarobkami powyżej tej średniej. Analogicznie zrobiłem dla pozostałych działów i zlączyłem te zapytania za pomocą "union". Działa poprawnie z tym, że zapytanie jest bardzo rozbudowane. Gdyby tych działów było dużo to napisanie zapytania byłoby pracochłonne. Dlatego zastanawiałem się, czy można to zrobić w prostszy sposób.
2. Analogicznie.
Zamiast UNION musisz użyć JOIN, albo to zapytanie umieścić we WHERE lub w IN. Aż 3 możliwości do wyboru.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)