Czesc i Czolem Panie i Panowie mam takowa bazę danych:

Tabela Wizyty ( IdWizyty, IdLekarza, IdPacjenta, DataWizyty, Oplata)

Tabela Pacjenci (IdPacjenta, Nazwisko, Imie, Pesel, DataUrodzenia, Plec)

Tabela Lekarze (IdLekarza, Nazwisko, Imie , DataUrodzenia, NIP, Plec, IdSpecjalizacji)

Tabela Specjalizacje (IdSpecjalizacji, NazwaSpecjalizacji)

zrobić zestawienie zawierające następujące dane; nazwisko, imię pacjentów, którzy 25 kwietnia 2016 byli u kardiologa lub diabetologa a nie byli u lekarza rodzinnego w całym roku 2016

Oto mój kod:


;WITH TMP as
(
select P.Nazwisko,P.Imie,P.Pesel
,sum(CASE WHEN L.Idspecjalizacji = 5 THEN 1 ELSE 0 END) as ileWizytKardiolog
,sum(CASE WHEN L.Idspecjalizacji = 6 THEN 1 ELSE 0 END) as ileWizytDiabetolog
,sum(CASE WHEN L.Idspecjalizacji = 1 THEN 1 ELSE 0 END) as ileWizytRodzinny
from Wizyty as W
inner join Pacjenci as P on W.IdPacjenta=P.IdPacjenta
inner join Lekarze as L on W.IdLekarza=L.IdLekarza
where

year (DataWizyty)=2016
group by P.Nazwisko,P.Imie,Pesel

)
Select *
from TMP
where      ileWizytDiabetolog>0 or ileWizytKardiolog>0 and ileWizytRodzinny=0

O ile latwo znalezc pacjentow ktorzy w calym 2016 nie byli u rodzinnego , to jak znalezc tych ktorzy akurat 2016-04-25 byli o diabetologa lub kardiologa ?