SQL cümlesinde alt table kayıt sayısına göre WHERE koşulu ?
-
07 Haziran 2012 Perşembe 15:56
Merhaba
Aşağıdaki SQL cümlesinde x_seansogrencilerine biden çok öğrenci kayıtı yapılabiliniyor. SQL cümlesi sonucu için 1 2 veya 3 veya farklı sayıda öğrenci bulunan (x_seansogrencileri table ında bulunan kayıt sayısı) sonucu nasıl görebilirim ? Where koşuluna ne yazmam gerekiyor. Sonuçta aşağıdaki gibi baslangicsaati, bitis saati, gun, seans ve egitmen gözükmeli.
SELECT x_seansprogrami.x_baslangicsaati as x_baslangicsaati, x_seansprogrami.x_bitissaati as x_bitissaati, x_seansprogrami.x_gun as x_gun, x_seansprogrami.x_seans as x_seans, x_seansprogrami.x_egitmen as x_egitmen FROM x_seansprogrami OUTER APPLY (SELECT TOP 1 x_id, x_adi FROM x_seansegitmenleri WHERE x_seansprogrami.x_egitmen = x_seansegitmenleri.x_adi ) AS x_seansegitmenleri OUTER APPLY (SELECT TOP 1 x_id, x_adi, x_seansturu, x_seansturadi, x_ogrencisayisi FROM x_seans WHERE x_seansprogrami.x_seans = x_seans.x_adi ) AS x_seans OUTER APPLY (SELECT TOP 1 x_id, x_yas, x_bitistarihi FROM x_seansogrencileri WHERE x_seans.x_id = x_seansogrencileri.x_seansid AND x_seansogrencileri.x_bitistarihi>=@sontarih) AS x_seansogrencileri WHERE (NOT (x_seansprogrami.x_id IS NULL)) AND x_seansogrencileri.x_bitistarihi>=@sontarih
Tüm Yanıtlar
-
07 Haziran 2012 Perşembe 19:31
aşağıdaki satırı query e ekleyerek çözdüm.OUTER APPLY (SELECT Count(x_id) as x_ogrencisayisi FROM x_seansogrencileri WHERE x_seans.x_id = x_seansogrencileri.x_seansid AND x_seansogrencileri.x_bitistarihi>=@sontarih) AS x_seansogrencileri001
- Yanıt Olarak İşaretleyen MSDN.CSharp 07 Haziran 2012 Perşembe 19:31