|
0 / 0 / 0
Регистрация: 19.10.2022
Сообщений: 9
|
||||||||||||||||
MS SQL Создать функцию, формирующую направления для студентов, не сдавших экзамены, к случайным преподавателям18.01.2024, 19:59. Показов 1240. Ответов 7
Всех приветствую, стоит передо мной вот такая задачка: "Создать функцию, формирующую направления для студентов, не сдавших экзамены, к случайным преподавателям, ведущим эти дисциплины", имеются следующие таблицы:
Группы (Номер_Группы, Староста_Группы) Студенты (Код_Студента, Фамилия, Имя, Отчество, Номер_Зачетной_Книжки, Номер_Группы, Домашний_Адрес, Телефон) Дисциплины (Код_Дисциплины, Название, Количество_Часов, Описание) Результаты_Сессии (Код_Студента, Код_Дисциплины, Дата, Вид_Контроля, Оценка) Преподаватели (Код_Преподавателя, Фамилия, Имя, Отчество, Должность, Ученая_Степень, Дата_Приема_На_Работу, Номер_Кафедры) Нагрузка (Код_Дисциплины, Код_Преподавателя) Скриншот диаграммы: Условия решение задачи: Нельзя использовать оконные функции, нельзя использовать CTE, задачка должна решаться элементарно, без слишком усложненных конструкций. Для рандома используется представление:
Решения которые были забракованы: 1.
2.
Если не убирать условие T3.Код_Студента = T1.Код_Студента, то рандом начинает работать правильно. Пример: Прошу вас помочь с решением и объяснением
0
|
||||||||||||||||
| 18.01.2024, 19:59 | |
|
Ответы с готовыми решениями:
7
Массив студентов первого курса. Вывести процент студентов, сдавших все экзамены на 4, 5 Определить процент студентов, сдавших экзамены на 4 и 5
|
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
||||||
| 18.01.2024, 21:00 | ||||||
|
если не начудил на коленке то примерно так
0
|
||||||
|
0 / 0 / 0
Регистрация: 19.10.2022
Сообщений: 9
|
|
| 18.01.2024, 21:25 [ТС] | |
|
В вашем решении тоже получается, что рандомится преподаватель только по дисциплинам, а надо чтобы у каждого студента радомился преподаватель.
0
|
|
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
|
| 18.01.2024, 21:56 | |
|
тогда брось сюда скрипты создания и заполнения таблиц, а то достаточно сложно на коленке без отладки получить приемлимый результат ). а рандом через вьюху обязательно? Без нее проще было бы )
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2022
Сообщений: 9
|
||||||
| 18.01.2024, 22:51 [ТС] | ||||||
|
Насколько я знаю, и насколько я тестил. При создании функции всякие функции рандома по типу rand или newid не работают (ругается сам sql), поэтому единственный обход этого, через представление.
Код таблиц:
0
|
||||||
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
||||||
| 19.01.2024, 10:46 | ||||||
Сообщение было отмечено L1nix как решение
Решение
1
|
||||||
|
0 / 0 / 0
Регистрация: 19.10.2022
Сообщений: 9
|
|
| 19.01.2024, 11:53 [ТС] | |
|
Решение рабочее, но я не совсем понимаю зачем тут нужны преобразования, минимальные значения. Можете объяснить?
0
|
|
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
|
| 19.01.2024, 12:34 | |
|
не обязательно же сортировка или ровнумбер по рандому. можно выбрать и минимум вместо сортировки, ну а доступ к коду - изврат засунув его в этот минимум. понятно что вся идея получить рандом по каждому студенту и дисциплине
0
|
|
| 19.01.2024, 12:34 | |
|
Помогаю со студенческими работами здесь
8
Структуры: определить процент студентов, сдавших экзамены на 4 и 5
Подсчитать количество студентов в каждой группе, сдавших экзамены на 4 и 5 Определить количество студентов, сдавших экзамены без троек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|