count - ilość powtórzeń

0

Chciałbym napisać zapytanie które sprawdzi mi czy są w bazie pracownicy o tym samym nazwisku (jeśli nie, zapytanie powinno zwrócić wartość 0, jeśli tak – ilość powtarzających się nazwisk).Samo zapytanie zliczające ilość powtórzeń umiem napisać:

select nazwisko,count(nazwisko) as 'Ilość powtórzeń'
from Pracownicy
group by nazwisko 

ale nie wiem jak je w tym przypadku zastosować.

0

co to znaczy "nie umiem zastosować"? napisałeś sobie zapytanie, co więcej Ci trzeba?

0

bo nie robi tego co napisalem w nawiasie tzn. chciałbym żeby zaczął mi zliczać gdy znajdzie drugie takie samo nazwisko ,jesli nie znajdzie to wstawia 0

0

jaka baza?

0

nie podałeś, która baza danych, więc zakładam, że akurat ta, która mi pasuje:

SELECT CodeText, (case COUNT(CodeText) when 1 then 0 else COUNT(CodeText) end) as [count]
FROM Codes
group by CodeText

albo (mniej wydajnie)

SELECT CodeText, COUNT(CodeText) as [count]
FROM Codes
group by CodeText
having COUNT(CodeText) > 1
union
SELECT CodeText, 0
FROM Codes
group by CodeText
having COUNT(CodeText) = 1
0

Dzięki mistrzu!

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