Problem z podzapytaniem

0

Witam, jako, że jestem początkującym SQL'owcem ;) proszę o pomoc i wyrozumiałość. Mam w zadaniu taki podpunkt: "2. Podaj osoby mające najmniejsze stawki w swoich działach"

a to moje zapytanie:

SELECT NAZWISKO FROM PRACOWNICY WHERE STAWKA = (SELECT MIN(STAWKA) FROM PRACOWNICY GROUP BY "KOD DZIALU")
; 

Wewnętrzne zapytanie sprawdziłem i zwraca mi kolumnę ze wszystkimi działami oraz najmniejszą stawkę w każdym dziale. Ale kiedy dam całość tak jak powyżej to już wywala błąd, że jednowierszowe podzapytanie zwraca więcej niż jeden wiersz

A tak wygląda baza:
user image

Z góry dziękuje za jakąkolwiek pomoc :)

0
SELECT NAZWISKO FROM PRACOWNICY As P JOIN  (SELECT "KOD DZIALU" as Kod, MIN(STAWKA) as Stawka FROM PRACOWNICY GROUP BY "KOD DZIALU") As X ON P."KOD DZIALU"=X.Kod AND P.STAWKA=X.Stawka; 
0

inna wersja - dla mssql. wygląda inaczej, ale generalnie zasada identyczna jak w sql Marcina.

with p as (select [kod dzialu], min(stawka) as stawka from pracownicy p group by [kod dzialu])
select p2.nazwisko from p, pracownicy p2 where p.[kod dzialu] = p2.[kod dzialu] and p.stawka = p2.stawka
0

Chodzi o bazę Oracle, nie wiem jak poprawić temat... nie widzę żadnego przycisku edycji...

Marcin.Miga napisał(a)
SELECT NAZWISKO FROM PRACOWNICY As P JOIN  (SELECT "KOD DZIALU" as Kod, MIN(STAWKA) as Stawka FROM PRACOWNICY GROUP BY "KOD DZIALU") As X ON P."KOD DZIALU"=X.Kod AND P.STAWKA=X.Stawka; 

A to zapytanie zwraca błąd w bazie... :(

0

Poradziłem sobie

SELECT NAZWISKO, STAWKA, "KOD DZIALU"
FROM PRACOWNICY WHERE STAWKA IN ( SELECT MIN(STAWKA) FROM PRACOWNICY
WHERE "KOD DZIALU" IN (SELECT "KOD DZIALU" FROM DZIALY)
GROUP BY "KOD DZIALU"); 

Dzięki za próby pomocy :)

0

Dostałeś minusa w pierwszym poście za polskie nazwy tabel i pól. Ile to ja się nasiedziałem w pracy nad słownikiem, żeby ogarnąć gigantyczną bazę danych stworzoną przez Hiszpanów (bynajmniej nie po angielsku) :(.

0

tyle, że to nie ja tą bazę robiłem, tylko to jest baza z zajęć moich...

1 użytkowników online, w tym zalogowanych: 0, gości: 1