Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytania SQL
Adam51015
post 22.05.2015, 16:49:30
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.05.2015

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
mmmmmmm
post 22.05.2015, 21:22:09
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
Adam51015
post 22.05.2015, 21:51:07
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.05.2015

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
mmmmmmm
post 23.05.2015, 19:31:40
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Zamiast UNION musisz użyć JOIN, albo to zapytanie umieścić we WHERE lub w IN. Aż 3 możliwości do wyboru.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 07:15