slm. şimdi benim 3 tane tablom var.
1. kayit isminde: id,ad(char),soyad(char),sinif(int),seans(int)
2. seans isminde: id,seansad(char)
3. Sinif isminde : id.sinifad(char), kontenjan(int)
kayit ismindeki tablonun sinif sütunu ile sinif tablosundaki id ilişkili(master-detail)
kayit ismindeki tablonun seans sütunu ile seans ismindeki tablonun id ' si ilişkili(master-detail)
şimdi bir sınıfa birden fazla seans olabilir. her sınıfın kontenjanı ayrı...
hangi sınıfa hangi seanslar olmuş ,ne kadar öğrenci sınava girmiş, kontenjanı ne kadar gibi bilgilere erişmek istiyorum. farklı şeyler denedim ama hep hata veriyor. bununla ilgile sql sorguyu nasıl yazabiliriz. şimdiden ilgilenenlere teşekkür ediyorum. vesselam
Seansların ne kadar dolduğunu görmek
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Seansların ne kadar dolduğunu görmek
join sorgularını group by ile iyi ilişkilendirmen gerek.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Seansların ne kadar dolduğunu görmek
slm. grup by ile gruplama yapıyorum. fakat seransların ne kadarının dolduğu(kontenjana göre)'nu çözemedim.
Re: Seansların ne kadar dolduğunu görmek
aşağıdaki şekilde inner join ile ilişkilendirme yaptım
ama benim istediğim hangi sınıfa ne kadar seans düşmüş, seansa giren kaç kişi
SELECT Sinif.ad,
Seans.ad,
Sinif.kontenjan,
count(seans.ad)
FROM Sinif INNER JOIN (Seans INNER JOIN Kayit
ON Seans.[SiraNo] = Kayit.[seans])
ON Sinif.[Sirano] = Kayit.[sinif]
Group by Sinif.ad,
Seans.ad,
sinif.kontenjan
ama benim istediğim hangi sınıfa ne kadar seans düşmüş, seansa giren kaç kişi
SELECT Sinif.ad,
Seans.ad,
Sinif.kontenjan,
count(seans.ad)
FROM Sinif INNER JOIN (Seans INNER JOIN Kayit
ON Seans.[SiraNo] = Kayit.[seans])
ON Sinif.[Sirano] = Kayit.[sinif]
Group by Sinif.ad,
Seans.ad,
sinif.kontenjan
Re: Seansların ne kadar dolduğunu görmek
SELECT Sinif.ad, Sinif.kontenjan,
first(Seans.ad) AS [Ilk Seans_ad],
Count(*) AS [Say Seans]
FROM Sinif INNER JOIN
(Seans INNER JOIN Kayit ON Seans.[SiraNo] = Kayit.[seans]) ON Sinif.[Sirano] = Kayit.[sinif]
GROUP BY Sinif.ad, seans.ad,Sinif.kontenjan
--bu kodlar işimi görüyor fakat seans dolduğunda nasıl uyarı verdirebiliriz( yani kontenjandan fazla kayıt girmsin diyoruz).
--yardımlarınızı bekliyorum. hocalarım
first(Seans.ad) AS [Ilk Seans_ad],
Count(*) AS [Say Seans]
FROM Sinif INNER JOIN
(Seans INNER JOIN Kayit ON Seans.[SiraNo] = Kayit.[seans]) ON Sinif.[Sirano] = Kayit.[sinif]
GROUP BY Sinif.ad, seans.ad,Sinif.kontenjan
--bu kodlar işimi görüyor fakat seans dolduğunda nasıl uyarı verdirebiliriz( yani kontenjandan fazla kayıt girmsin diyoruz).
--yardımlarınızı bekliyorum. hocalarım