aboutsummaryrefslogtreecommitdiff
path: root/Microsoft Access
diff options
context:
space:
mode:
Diffstat (limited to 'Microsoft Access')
-rw-r--r--Microsoft Access/Scolarship/Scolarship-Queries.sql126
-rw-r--r--Microsoft Access/Scolarship/Scolarship.accdbbin0 -> 2027520 bytes
2 files changed, 126 insertions, 0 deletions
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
--- /dev/null
+++ b/Microsoft Access/Scolarship/Scolarship.accdb
Binary files differ