Funkcja agregująca COUNT

0

Witam,
Chciałbym zapisać takie zapytanie w bazie danych, aby wyświetliło imię, nazwisko pracowników oraz czy posiadają numer telefonu, jeśli posiadają to ma wypisać 1, jeśli nie to wypisze 0. Mam zastosować funkcję agregującą COUNT. Prosiłbym o pomoc rozwiązaniu.

Tutaj wyświetla pracowników, którzy nie mają numeru telefonu:

SELECT 		S.Staff_Id, S.First_Name, S.Last_Name, S.Phone
FROM 		Staff S	
INNER JOIN 	Classe C ON C.Staff_Id=S.Staff_Id
WHERE 		S.Phone IS NULL 

1

A to wymaga agregowania, jak ma kilka telefonów to jest kilka rekordów?

SELECT      S.Staff_Id, S.First_Name, S.Last_Name
,  count(S.Phone)
FROM        Staff S 
INNER JOIN  Classe C ON C.Staff_Id=S.Staff_Id
WHERE       S.Phone IS NULL 
GROUP BY S.Staff_Id, S.First_Name, S.Last_Name

jeżeli to mają być wartości 0/1 a telefonów może być więcej to

SELECT      S.Staff_Id, S.First_Name, S.Last_Name
,  case when count(S.Phone)>0 then 1 else 0 end
FROM        Staff S 
INNER JOIN  Classe C ON C.Staff_Id=S.Staff_Id
WHERE       S.Phone IS NULL 
GROUP BY S.Staff_Id, S.First_Name, S.Last_Name

Tylko count sprawdzi się tylko wtedy jeżeli przy braku telefenu będzie null a nie pusty ciąg znaków

0
Panczo napisał(a):

A to wymaga agregowania, jak ma kilka telefonów to jest kilka rekordów?

SELECT      S.Staff_Id, S.First_Name, S.Last_Name
,  count(S.Phone)
FROM        Staff S 
INNER JOIN  Classe C ON C.Staff_Id=S.Staff_Id
WHERE       S.Phone IS NULL 
GROUP BY S.Staff_Id, S.First_Name, S.Last_Name

jeżeli to mają być wartości 0/1 a telefonów może być więcej to

SELECT      S.Staff_Id, S.First_Name, S.Last_Name
,  case when count(S.Phone)>0 then 1 else 0 end
FROM        Staff S 
INNER JOIN  Classe C ON C.Staff_Id=S.Staff_Id
WHERE       S.Phone IS NULL 
GROUP BY S.Staff_Id, S.First_Name, S.Last_Name

Tylko count sprawdzi się tylko wtedy jeżeli przy braku telefenu będzie null a nie pusty ciąg znaków

Przykładowo: do konkretnej osoby jest przypisany numer telefonu i ja mam zrobić zapytanie, w którym to wyświetli w osobnych kolumnach: imię, nazwisko oraz telefon i w tej kolumnie "telefon", ma być wpisane albo 0 - jeśli nie ma numeru telefonu lub1 - jeśli posiada osoba numer telefonu.
W strukturze tabeli Telefon(Phone) ma typ danych numeryczne. Mam zrobić to zadanie z użyciem COUNT, na zajęciach użyłem CASE ale niestety otrzymałem odpowiedź, że ma być za pomocą COUNT.

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