PDA

View Full Version : مشكل در نوشتن كوئري داراي شرط



mohsen_namad
پنج شنبه 29 تیر 1391, 20:18 عصر
سلام دوستان
من دارم يه سامانه آموزشي دانشجويي مينويسم و تو قسمت مربوط به كارنامه كل و كارنامه نيمسال دچار يه سري مشكلات شدم:
براي بدست آوردن معدل يه نيمسال به اين صورت عمل ميكنم:

SELECT (SUM(Grade*Unit)/SUM(Unit)) AS AVG,ID FROM Table1 Group BY ID,END_DATE,Term Having ID=1 AND Term=901 AND END_DATE < GETDATE()

تو اين قسمت فرض كردم كه معدل اون دانشجويي رو بده كه كدش 1 هست و نمرش از وقت اعتراض گذشته و ديگه ثبت نهايي شده.
حالا مشكل من اينه كه ميخوام يه سري شرط خاص رو اين كوئري بزارم مثلا اينكه تعداد كل واحد هايي كه تو اين ترم گرفته (بدون اينكه در نظر بگيريم پاس كرده يا نه) چند تاس و اينكه چند تا از اين واحد هايي كه گرفته رو پاس كرده يعني نمره بالا 10 گرفته (ثبت نهايي شده باشند).
از راهنمايي هاتون ممنون ميشم.:تشویق::تشویق::تشویق::تش ویق:

Reza_Yarahmadi
پنج شنبه 29 تیر 1391, 22:58 عصر
میتونید بصورت زیر عمل کنید
SELECT
ID,
SUM(Grade*Unit)/SUM(Unit) AS AVG,
SUM(Unit) TotalUnit,
SUM(Case When Grade >= 10 Then Unit Else 0 End) TotalPassed
From
...