Bölüm ve Doktora göre İlk Defa Gelenler

				
					/* Formatted on 5/06/2023 23:21:26 (QP5 v5.388) */
select 

d.adi_soyadi,
b.bolum_adi,
(select count (*) from hastane.protokol p1 where p1.GTARIH between to_date(:TAR1,'dd.mm.yyyy hh24:mi') and to_date(:TAR2,'dd.mm.yyyy hh24:mi') and p1.dr_kodu=z.dr_kodu) toplam_hasta_sayısı,
count(z.protokol_no) Adet from   
  (SELECT *
    FROM protokol x
   WHERE     x.protokol_no IN
                 (
                 (
                 --Gelis Sırasına Göre Dosya ve .Protokol Bazlı Liste,
                 --alisahancom
                 SELECT protokol_no FROM (SELECT dosya_no, protokol_no, gtarih, ROW_NUMBER () OVER (PARTITION BY dosya_no ORDER BY gtarih ASC)    AS GelisSirasi FROM protokol) subquery
                 --İlk Gelişleri seçen şart
                   WHERE GelisSirasi = 1
                 --ilk gelişler arasında ilgili doktor kodu
                                      )
                 ) and X.GTARIH between to_date(:TAR1,'dd.mm.yyyy hh24:mi') and to_date(:TAR2,'dd.mm.yyyy hh24:mi')
ORDER BY dosya_no ASC
)z,hastane.dradi d,hastane.bolum b
where 
z.dr_kodu=d.dr_kodu(+)
and z.bolum=b.bolum(+)
group by d.adi_soyadi,z.dr_kodu,
b.bolum_adi
				
			
  1. SELECT ifadesi, sonuç kümesinde hangi sütunların görüntüleneceğini belirtir.

  2. d.adi_soyadi, b.bolum_adi gibi sütunlar, doktor adı-soyadı ve bölüm adını temsil ediyor.

  3. (select count (*) from hastane.protokol p1 where p1.GTARIH between to_date(:TAR1,'dd.mm.yyyy hh24:mi') and to_date(:TAR2,'dd.mm.yyyy hh24:mi') and p1.dr_kodu=z.dr_kodu) ifadesi, belirli bir tarih aralığında ilgili doktorun tedavi ettiği hasta sayısını hesaplar ve toplam_hasta_sayısı adlı bir sütunu doldurur.

  4. count(z.protokol_no) ifadesi, bir doktorun toplam protokol sayısını hesaplar ve Adet adlı bir sütunu doldurur.

hakkında admin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yardıma mı ihtiyacınız var? Bizimle sohbet edin