Я работаю в школе и создал базу данных, чтобы помочь с кошмаром проверять, какие дети ходят в какие школы после школьных клубов.
Я попытался сделать это, создав базу данных, основанную накаждый из 42 регистров (документы Excel) с использованием таблиц ссылок.Затем я настроил несколько запросов, которые ищут учеников по определенным формам, по которым я затем генерирую отчет, чтобы каждая группа форм могла видеть, ходили ли дети в своей форме в клуб за определенную неделю.
Мои знания SQL являются базовыми: я могу писать запросы для выполнения различных задач, но не знаю, как оптимизировать большие запросы.
Проблема, с которой я сталкиваюсь, заключается в том, что для создания каждого отчета требуется 2 минуты 30 секунд.добавил все 42 регистра к запросу.Раньше, когда у меня было только 31, отчет генерировался за 30 секунд.
Вот пример запроса:
SELECT [UID], [Name], [Group], [Week 1], [Week 2], [Week 3],
[Week 4], [Week 5], [Week 6]
FROM [club 1]
WHERE ((([Club 1].[Group])="group name"))
UNION ALL
SELECT [UID], [Name], [Group], [Week 1], [Week 2], [Week 3],
[Week 4], [Week 5], [Week 6]
FROM [club 42]
WHERE ((([Club 42].[Group])="group name"));
Запрос имеет 41 UNION ALL SELECT
после начальногоSELECT
и, скорее всего, это самый важный, ужасно плохо написанный запрос, но, как я уже сказал, мои знания SQL являются базовыми, и я учусь по ходу дела.
Дополнительная информация: Есть 480учащиеся, включенные в эти регистры, и один учащийся могут посещать более одного клуба в неделю, поэтому по запросу необходимо будет найти каждый случай, когда ученик посещал клуб.
Возможности, не связанные с использованием Access with Excel, очень и оченьограничено.Я поговорил с некоторыми друзьями и посмотрел на подход MySQL и настройку локального сервера в сети, но наша сеть - это управляемый сервис, и компания, которая управляет ею, очень обидно говорить о настройке на своих серверах (как минимум)Понятно, что так).
Я полагаю, что для того, что мне нужно, это, пожалуй, единственный способ сделать это, и запрос занимает 2 минуты 30 секунд лучше, чем 30 минут, которые потребовались для ручной проверки каждогорегистрироваться каждую пятницу.Причина, по которой я пытаюсь разобраться в этом:
A) Я хочу расширить свои знания в области программирования и до сих пор умудрилась пропустить SQL
B) Учителя, обращающиеся к базе данных, частонетерпеливо нажимайте случайно при загрузке отчета, пытаясь заставить его работать быстрее или из-за разочарования, что часто приводит к сбою Access