С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75

Запросы (перекрестные/группировки)

17.12.2011, 23:46. Показов 4104. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сформировать запрос на выборку, в котором, используя групповые операции, определить суммарное количество часов, отработанных каждым преподавателем. Название запроса — "Суммарное количество часов".

Сформировать запрос на выборку, в котором, используя групповые операции, определить по скольким предметам проводит занятия каждый преподаватель. Название запроса — "Количество предметов".

Используя промежуточный запрос как источник, сформировать перекрестный запрос. Название запроса — "Перекрестный запрос". В качестве названий строк принять значения поля "Фамилия преподавателя", названий столбцов — значения поля "Название предмета". На пересечении строк и столбцов результирующей сводной таблицы должно находиться количество часов, проведенных преподавателем по каждому предмету. Названием промежуточного запроса и видом групповой функции в перекрестном запросе задаться самостоятельно.
Вложения
Тип файла: rar 111.rar (44.3 Кб, 64 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2011, 23:46
Ответы с готовыми решениями:

Перекрёстные запросы
Делаю перекрёстный запрос. Получаю результат: http://s3.********************/uploads/images/2013/09/ed40fbdb6f8eadafa0e85aa52b18d0c1.bmp...

Перекрестные запросы БД заказы=автомобили+клиенты
Здравствуйте, с первых шагов столкнулся с проблемой, не пойму как сделать запрос, вот как представлена схема Таблицы заполнены так: ...

Перекрестные запросы в в проекте базы данных
Планирую переход базы с .mdb на .mde, но в исходной базе полно перекрестных запросов - они не конверятся - что делать?

12
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75
17.12.2011, 23:47  [ТС]
прошу V_Monomax помочь мне с запросами
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
17.12.2011, 23:59
Цитата Сообщение от thesd Посмотреть сообщение
прошу V_Monomax помочь мне с запросами
ну думаю я здесь не один уж очень такой...
ну ловите тогда ваш запрос Суммарное количество часов
SQL
1
2
3
SELECT Преподаватели.Фамилия_преподавателя&' '& Преподаватели.Имя_преподавателя &' '& Преподаватели.Отчество_преподавателя AS Преподователь, SUM(предмет.[Кол_во_часов по предмету]) AS ИтогоЧасов
FROM Преподаватели INNER JOIN (предмет INNER JOIN (должности INNER JOIN таблица_для_связи ON должности.Код_должности = таблица_для_связи.Код_должности) ON предмет.Код_предмета = таблица_для_связи.Код_предмета) ON Преподаватели.Код_преподавателя = таблица_для_связи.Код_преподавателя
GROUP BY Преподаватели.Фамилия_преподавателя, Преподаватели.Имя_преподавателя, Преподаватели.Отчество_преподавателя;
Добавлено через 2 минуты
обратите внимание на &' '& - Их то же нигде нет, а пробелы в итоге в таблице есть...
1
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75
18.12.2011, 00:02  [ТС]
V_Monomax, еще раз привет. не принижайте ваши способности, преподаватель рассматривая прошлую базу как зашла в связи между таблицами, так вскрикнула: "мощная база!" так как там можно сказать 5 вариантов из 10 объединено! огромное кстати человеческое за неё спасибо!
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
18.12.2011, 00:16
Вот вам и второе ваше задание:
SQL
1
2
3
SELECT Преподаватели.Фамилия_преподавателя & ' ' & Преподаватели.Имя_преподавателя & ' ' & Преподаватели.Отчество_преподавателя AS Преподователь, COUNT(предмет.Предмет) AS КоличествоПредметов
FROM Преподаватели INNER JOIN (предмет INNER JOIN (должности INNER JOIN таблица_для_связи ON должности.Код_должности = таблица_для_связи.Код_должности) ON предмет.Код_предмета = таблица_для_связи.Код_предмета) ON Преподаватели.Код_преподавателя = таблица_для_связи.Код_преподавателя
GROUP BY Преподаватели.Фамилия_преподавателя, Преподаватели.Имя_преподавателя, Преподаватели.Отчество_преподавателя;
Надеюсь успеваете за мной?
Здесь применена опять таки хитрость с And и групповая операция count - дает количество значений.

Добавлено через 2 минуты
Цитата Сообщение от thesd Посмотреть сообщение
так как там можно сказать 5 вариантов из 10 объединено!

Не по теме:

о чем речь идет?



Цитата Сообщение от thesd Посмотреть сообщение
огромное кстати человеческое за неё спасибо!

Не по теме:

Всегда пожалуйста, вы то сами поняли что я там сделал и для чего?



Добавлено через 3 минуты
thesd, вас не сильно затрудняет что я такой тип выдачи запросов организовал?
1
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75
18.12.2011, 00:21  [ТС]
там как бы кусок базы ресторан у меня был, на самом деле эта ваша огромная база ресторан разбита на 5 вариантов где то и запросы почти идентичны...вы её привели к нормальному виду, вот так оно и вышло, что большая база и сотня связей

я разобрался в принципе, все остальные делали куда проще)) так что мне это в + на экзамене

да за вами только и успевать))) первое работает, большое спасибо, я там только ИтогоЧасов изменил на Количество_часов

Добавлено через 2 минуты
делайте как знаете, перекрестные вопросы у нас особо не разбирают преподаватели, так как сами не хотят вникать, работает и ладно как говорится))

Добавлено через 20 секунд
точнее перекрестные и группировки
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
18.12.2011, 00:36
Немного потворчествуем, дабы препады ведущие историю, не вели ЭВМ
Запрос надо назвать "промежуточный" (обязательно) Если будете менять поля (названия полей) запоминайте как и где.
SQL
1
2
SELECT [Преподаватели].[Фамилия_преподавателя] & ' ' & [Преподаватели].[Имя_преподавателя] & ' ' & [Преподаватели].[Отчество_преподавателя] AS Преподаватель, предмет.Предмет, предмет.[Кол_во_часов по предмету], предмет.[Кол_во_часов по предмету]*должности.Должностная_почасовая_оплата AS ИтогоКОплате
FROM Преподаватели INNER JOIN (предмет INNER JOIN (должности INNER JOIN таблица_для_связи ON должности.Код_должности = таблица_для_связи.Код_должности) ON предмет.Код_предмета = таблица_для_связи.Код_предмета) ON Преподаватели.Код_преподавателя = таблица_для_связи.Код_преподавателя;
Добавлено через 4 минуты
Цитата Сообщение от thesd Посмотреть сообщение
я там только ИтогоЧасов изменил на Количество_часов
Главное соблюдать единообразие, а остальное ваше право, хотя тут в нескольких местах встречал споры о том как все же надо именовать поля. Кто-то считает должна быть только латиница с разделением слов как у вас, кто-то считает что должна быть латиница с разделением слов при помощи больших букв, ну и конечно кириллица по тем же правилам, с подчеркиванием и большой буквой.
1
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75
18.12.2011, 00:47  [ТС]
вы мне дали промежуточный, а сам перекрестный как создается??

я считаю что например вот так Количество_часов, Итого_расчетов - строго и аккуратно, как я и люблю))
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
18.12.2011, 01:01
Цитата Сообщение от thesd Посмотреть сообщение
вы мне дали промежуточный
Так и есть, а из него вот так получается перекрестный:
SQL
1
2
3
4
5
TRANSFORM SUM(Промежуточный.[Кол_во_часов по предмету]) AS [Sum-Кол_во_часов по предмету]
SELECT Промежуточный.Преподаватель
FROM Промежуточный
GROUP BY Промежуточный.Преподаватель
PIVOT Промежуточный.Предмет;
Ну как?

Добавлено через 12 минут
Цитата Сообщение от V_Monomax Посмотреть сообщение
с подчеркиванием и большой буквой.
так вот самое смешное, что в одном месте был некоторый слет, и по его итогам должна была получиться одна супер большая база. База получилась, и даже работает и обрабатывает данные, но самое удивительное когда проанализировали названия, выяснилось что более 50% названий с пробелами а не с оговоренными разделителями....
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
18.12.2011, 01:17
Ловите окончательный вариант бд, сравните с тем что у вас.
Вложения
Тип файла: zip 111.zip (55.1 Кб, 57 просмотров)
0
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75
18.12.2011, 01:29  [ТС]
всё отлично, огромное спасибо как обычно))!

Добавлено через 1 минуту
текста запросов хватило, долго отвечал ибо делал формы, главную кнопочную форму и отчеты, спасибо, спасибо и еще раз спасибо!)))
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
18.12.2011, 01:30
Цитата Сообщение от thesd Посмотреть сообщение
огромное спасибо как обычно
Да на здоровье )))

Цитата Сообщение от thesd Посмотреть сообщение
и еще раз спасибо!
И еще раз на здоровье )))
1
6 / 6 / 2
Регистрация: 11.09.2010
Сообщений: 75
18.12.2011, 02:18  [ТС]
)))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2011, 02:18
Помогаю со студенческими работами здесь

Прошу посвящение в "Перекрёстные запросы"
Ситуация такая. Я в MS Access создал перекрёстный запрос и обнаружил что в нём нельзя изменять значение, в отличии от обычных запросов. ...

Перекрестные отчеты в MS Access 2007
Не пойму как создать перекрестные отчеты именно отчеты а не запрос. Один раз вышло, а потом почему то не выходит. Подскажите пожалуйста кто...

Группировки в отчете
Имеется отчет с несколькими уровнями группировки Можно ли в аксес-отчете сделать так, что если в группе только одна запись(строчка),...

Группировки по датам.
Есть таблица, в одном поле хранятся даты (ДД.ММ.ГГ) в другом число. Хотелось бы сделать различные группировки с суммой тех чисел. ...

Группировки в отчете
Здравствуйте, помогите пожалуйста! я никак не могу сделать группировку по заказам в отчете, я задаю через форму нач.дату и кон.дату с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru