From 1074ca09bfe35bcda5f1a5139d335c74a5857c26 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 19 Feb 2021 20:48:31 +0200 Subject: Added files of Scolarship MS Access database --- Microsoft Access/Scolarship/Scolarship-Queries.sql | 126 +++++++++++++++++++++ Microsoft Access/Scolarship/Scolarship.accdb | Bin 0 -> 2027520 bytes 2 files changed, 126 insertions(+) create mode 100644 Microsoft Access/Scolarship/Scolarship-Queries.sql create mode 100644 Microsoft Access/Scolarship/Scolarship.accdb diff --git a/Microsoft Access/Scolarship/Scolarship-Queries.sql b/Microsoft Access/Scolarship/Scolarship-Queries.sql new file mode 100644 index 0000000..6794369 --- /dev/null +++ b/Microsoft Access/Scolarship/Scolarship-Queries.sql @@ -0,0 +1,126 @@ +-- Връщане на ученици, които се квалифицират за някоя стипендия и имтео и сумата на тази стипендия + +SELECT Ученици.ID, Ученици.[Три имена], Ученици.Клас, Ученици.Паралелка, +( + SELECT TOP 1 [Видове стипендии].[Заглавие на стипендия] + FROM [Видове стипендии] + WHERE + ( + ( + ( + IIf([Видове стипендии].[Тип стипендия]="По Успех", + IIf([Ученици].[Среден успех]>=[Видове стипендии].[Минимум успех] And [Ученици].[Среден успех]<=[Видове стипендии].[Максимум успех], + True, + False + ), + IIf([Видове стипендии].[Тип стипендия]="По Доход", + IIf([Ученици].[Среден доход на член от семейството]<=[Видове стипендии].[Доход граница], + True, + False + ), + IIf([Видове стипендии].[Тип стипендия]="Социална", + IIf([Ученици].[Без родител] And [Ученици].[Среден успех]>=[Видове стипендии].[Минимум успех] And [Ученици].[Среден успех]<=[Видове стипендии].[Максимум успех], + True, + False + ) + ) + ) + ) + )<>False + ) + ) + ORDER BY Размер DESC +) AS [Заглавие на стипендия], +( + SELECT MAX([Видове стипендии].Размер) + FROM [Видове стипендии] + WHERE + ( + ( + ( + IIf([Видове стипендии].[Тип стипендия]="По Успех", + IIf([Ученици].[Среден успех]>=[Видове стипендии].[Минимум успех] And [Ученици].[Среден успех]<=[Видове стипендии].[Максимум успех], + True, + False + ), + IIf([Видове стипендии].[Тип стипендия]="По Доход", + IIf([Ученици].[Среден доход на член от семейството]<=[Видове стипендии].[Доход граница], + True, + False + ), + IIf([Видове стипендии].[Тип стипендия]="Социална", + IIf([Ученици].[Без родител] And [Ученици].[Среден успех]>=[Видове стипендии].[Минимум успех] And [Ученици].[Среден успех]<=[Видове стипендии].[Максимум успех], + True, + False + ) + ) + ) + ) + )<>False + ) + ) +) AS [Сума за стипендия] +FROM Ученици; + +-- Връщане на брой ученици на дадена стипендия + +SELECT [Видове стипендии].ID, [Видове стипендии].[Заглавие на стипендия], [Видове стипендии].[Тип стипендия], [Видове стипендии].Размер, + ( + SELECT COUNT(*) + FROM [Квалифицирани ученици за стипендия] + WHERE [Видове стипендии].Размер=[Квалифицирани ученици за стипендия].[Сума за стипендия] + ) AS [Брой квалифицирани ученици] +FROM [Видове стипендии]; + +-- Връщане на брой ученици, квалифицирани за стипендия по класове и паралелки + +SELECT [Квалифицирани ученици за стипендия].Клас, [Квалифицирани ученици за стипендия].Паралелка, COUNT([Квалифицирани ученици за стипендия].ID) AS [Брой квалифицирани ученици] +FROM [Квалифицирани ученици за стипендия] +GROUP BY [Квалифицирани ученици за стипендия].Клас, [Квалифицирани ученици за стипендия].Паралелка; + +-- Връщане на сумата от стипендии за изчислен период на ученик + +SELECT [Квалифицирани ученици за стипендия].ID, [Квалифицирани ученици за стипендия].[Три имена], [Квалифицирани ученици за стипендия].[Заглавие на стипендия], + ( + SELECT IIF(Ученици.[Без родител], 12, 10) + FROM Ученици + WHERE Ученици.ID=[Квалифицирани ученици за стипендия].ID + ) + AS [Брой месеци на получаване], + ([Квалифицирани ученици за стипендия].[Сума за стипендия] * [Брой месеци на получаване]) + AS [Сума за една година] +FROM [Квалифицирани ученици за стипендия]; + +-- Общо сума според стипендия за година + +SELECT [Видове стипендии].ID, [Видове стипендии].[Заглавие на стипендия], [Видове стипендии].[Тип стипендия], [Видове стипендии].Размер, + IIF(0=( + SELECT COUNT(*) + FROM [Сума за година на ученик] + WHERE [Сума за година на ученик].[Заглавие на стипендия]=[Видове стипендии].[Заглавие на стипендия] + ), + 0, + ( + SELECT SUM([Сума за година на ученик].[Сума за една година]) + FROM [Сума за година на ученик] + WHERE [Сума за година на ученик].[Заглавие на стипендия]=[Видове стипендии].[Заглавие на стипендия] + ) + ) AS [Общо сума за година] +FROM [Видове стипендии]; + +-- Общо сума според стипендия за месец + +SELECT [Видове стипендии].ID, [Видове стипендии].[Заглавие на стипендия], [Видове стипендии].[Тип стипендия], [Видове стипендии].Размер, + IIF(0=( + SELECT COUNT(*) + FROM [Квалифицирани ученици за стипендия] + WHERE [Квалифицирани ученици за стипендия].[Заглавие на стипендия]=[Видове стипендии].[Заглавие на стипендия] + ), + 0, + ( + SELECT SUM([Квалифицирани ученици за стипендия].[Сума за стипендия]) + FROM [Квалифицирани ученици за стипендия] + WHERE [Квалифицирани ученици за стипендия].[Заглавие на стипендия]=[Видове стипендии].[Заглавие на стипендия] + ) + ) AS [Общо сума за месец] +FROM [Видове стипендии]; diff --git a/Microsoft Access/Scolarship/Scolarship.accdb b/Microsoft Access/Scolarship/Scolarship.accdb new file mode 100644 index 0000000..b2fb82c Binary files /dev/null and b/Microsoft Access/Scolarship/Scolarship.accdb differ -- cgit v1.2.3