jak pobrać coś na podstawie powtarzających się wartości

0

Załóżmy, że mam taką tabelę pracowników

**ID ** **Imię ** Szef Stanowisko
1 Marek Henryk Kominiarz
2 Józef Piotr Kominiarz
3 Andrzej Henryk Drwal
4 Michał Henryk Kominiarz
5 Przemek Bogdan Drwal

I chciałbym mieć zwrócone stanowisko tylko tych pracowników, którzy mają tego samego szefa i to samo stanowisko.
W przypadku tej tabeli powinno zostać zwrócone tylko stanowisko Kominiarz, gdyż jest dwóch pracowników (Marek i Michał), którzy mają to samo stanowisko i tego samego szefa.

0

group by + having count(*) > 1 + podstawy SQLa

0

Nie potrafię tego zrobić.
count liczy wartość wystąpień, a nie sprawdza czy coś pojawiło się wielokrotnie.
Napisałem coś takiego:

select stanowisko from Pracownicy
group by stanowisko
having count(Szef)>1 

ale nie działa jak powinno.
Mógłby mi ktoś to bardziej wytłumaczyć?

0

To powinno działać:

SELECT Stanowisko from Tabela1
GROUP BY Stanowisko, Szef
HAVING COUNT(*)>1;
0

Działa, dzięki!
A w jaki sposób mogę wyciągnąć imiona pracowników, którzy mają wspólnego szefa i stanowisko?
Bo na to już w ogóle nie mogę wpaść...

0

Np. wykorzystując zapytania wewnętrzne:

SELECT Imię FROM Tabela1
WHERE Stanowisko in (SELECT Stanowisko FROM Tabela1 GROUP BY Stanowisko, Szef HAVING COUNT(*)>1)
AND Szef in (SELECT Szef FROM Tabela1 GROUP BY Stanowisko, Szef HAVING COUNT(*)>1) 

Chociaż myślę, że można to zrobić lepiej...

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