Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Access _ Zapytania SQL

Napisany przez: Adam51015 22.05.2015, 16:49:30

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?

Napisany przez: mmmmmmm 22.05.2015, 21:22:09

1. A) obliczyć średnią z działu
cool.gif pokazać tych z tego działu, którzy mają wartość powyżej obliczonej z A)
2. A) ob liczyć wartość maksymalną z działu
cool.gif pokazać tych z tego działu, którzy mają taką wartość jak ta z A)

Napisany przez: Adam51015 22.05.2015, 21:51:07

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.

Napisany przez: mmmmmmm 23.05.2015, 19:31:40

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)