Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Błąd w zapytaniu
Forum PHP.pl > Forum > Przedszkole
rad11
Witam czy mogłby mi ktoś podpowiedzieć co może być nie tak w poniższym zapytaniu:

  1. SELECT department_id,department_name, manager_id, (ROUND(AVG(salary),2 )) AS "SALARY" FROM emp_details_view GROUP BY department_id,department_name,manager_id
  2. ORDER BY "SALARY"
  3. DESC;
  4.  


Chodzi o to żeby w wyniku było widać wszystkie powyższe kolumny z tym że kolumna Salary stanowi średnią zarobków pracowników danego departamentu zaokrągloną do 2 miejsc po przecinku.

Kiedy kasuje kolumne manager_id to pokazuje średnie dobrze, a ta kolumna ma być widoczna również. Kiedy jest ta kolumna wpisana to wiersze się powtarzaja i nie zlicza średniej tak jak powinno.

Prosze o pomoc i podpowiedzi.
Michael2318
Na pierwszy rzut oka - wywal te cudzysłowy, czyli nie:

"SALARY" tylko SALARY.

Co do błędów to przypuszczalnie chodzi o GROUP BY, dlaczego źle zwraca to już ciężej określić ponieważ nie wiemy do końca co trzymasz w tych polach.
Sephirus
@UP " mogą być używane jak ` tak BTW...

Cytat
kolumna Salary stanowi średnią zarobków pracowników danego departamentu


jeśli tak to:

  1. SELECT department_id, department_name, manager_id, (ROUND(AVG(salary),2 )) AS salary FROM emp_details_view
  2. GROUP BY department_id
  3. ORDER BY salary
  4. DESC;


To zapytanie wyświetla rekordy grupując je po departamencie podając średnią zarobków departamentu (tak jak pisałeś). Nie wiem w czym problem, na co Ci inne pola w group by...
rad11
Sephirus dzieki działa już tak jak powinno czyli mój głupi błąd daje plusika smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.