Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2022, 11:31   #1
Chasotcka
Новичок
Джуниор
 
Регистрация: 13.06.2020
Сообщений: 2
По умолчанию Вывести на экран записи, содержащие следующие поля

Добрый день! Подскажите как решить задачу, недопираю не много.

"SELECT – вывести на экран записи, содержащие следующие поля: Табельный номер, ФИО преподавателя, его Должность и суммарное количество часов для преподавателя, у которого максимальная нагрузка."

Код:
CREATE TABLE `Дисциплины` (
`Код дисциплины` INT NOT NULL PRIMARY KEY,
`Название дисциплины` VARCHAR(50) NOT NULL,
`Количество часов лекции` INT NOT NULL,
`Количество часов семинары` INT NOT NULL,
`Итоговый контроль` VARCHAR(30) NOT NULL
);
 
CREATE TABLE `Преподаватели` (
`Табельный номер` INT NOT NULL PRIMARY KEY,
`Фамилия, имя и отчество` VARCHAR(50) NOT NULL,
`Должность` VARCHAR(30) NOT NULL
);
 
CREATE TABLE `Расписание занятий` (
`Номер группы` CHAR(6) NOT NULL,
`Дата` DATE NOT NULL,
`№ пары` INT NOT NULL,
`Табельный номер` INT NOT NULL,
`Код дисциплины` INT NOT NULL,
PRIMARY KEY (`Номер группы`, `Дата`, `№ пары`),
FOREIGN KEY (`Код дисциплины`) REFERENCES `Дисциплины`(`Код дисциплины`) ON UPDATE cascade ON DELETE RESTRICT ,
FOREIGN KEY (`Табельный номер`) REFERENCES `Преподаватели`(`Табельный номер`) ON UPDATE cascade ON DELETE RESTRICT
);
 
CREATE TABLE `Расписание занятий1` (
`Номер группы` CHAR(6) NOT NULL,
`Дата` DATE NOT NULL,
`№ пары` INT NOT NULL,
`Табельный номер` INT NOT NULL ,
`Код дисциплины` INT NOT NULL ,
PRIMARY KEY (`Номер группы`, `Дата`, `№ пары`),
FOREIGN KEY (`Код дисциплины`) REFERENCES `Дисциплины`(`Код дисциплины`) ON UPDATE cascade ON DELETE RESTRICT ,
FOREIGN KEY (`Табельный номер`) REFERENCES `Преподаватели`(`Табельный номер`) ON UPDATE cascade ON DELETE RESTRICT
);
 
INSERT  INTO `Дисциплины` (`Код дисциплины`, `Название дисциплины`, `Количество часов лекции`, `Количество часов семинары`, `Итоговый контроль` )
    VALUES   (101, "Математика", 68, 68, "Зачет"),
           (102, "Математика", 68, 102, "Экзамен"),
           (121, "Информатика", 34, 102, "Экзамен"),
           (221, "Иностранный язык", 0, 144, "Зачет"),
           (222, "Иностранный язык", 0, 144, "Зачет с оценкой"),
           (322, "Экономика предприятий", 68, 34, "Зачет");
 
INSERT  INTO `Преподаватели`(`Табельный номер`, `Фамилия, имя и отчество`, `Должность`)
    VALUES    (1001, "Иванов Сергей Степанович", "доцент"),
           (1002, "Степанов Василий Ильич", "профессор"),
           (1003, "Петрова Ирина Олеговна", "ст. преподаватель");
 
INSERT  INTO `Расписание занятий` (`Номер группы`, `Дата`, `№ пары`, `Табельный номер`, `Код дисциплины`)
    VALUES    ("ГМУ-11", "2018.11.23", 1, 1003, 221),
           ("ГМУ-11", "2018.11.23", 2, 1001, 101);
 
INSERT  INTO `Расписание занятий1` (`Номер группы`, `Дата`, `№ пары`, `Табельный номер`, `Код дисциплины`)
    VALUES    ("ИВТ-24", "2018.11.24", 1, 1001, 121),
           ("ИВТ-24", "2018.11.23", 3, 1001, 102),
           ("ГМУ-21", "2018.11.24", 2, 1002, 322),
           ("ГМУ-21", "2018.11.24", 3, 1003, 222);

Вот моя наработка:

Код:
select A.`Табельный номер`, A.`Фамилия, имя и отчество`, A.`Должность`, SUM(`Количество часов лекции`+`Количество часов семинары`)
from `Преподаватели` as A inner join `Дисциплины`
group by 1
having SUM(`Количество часов лекции`+`Количество часов семинары`)=(select SUM(`Количество часов лекции`+`Количество часов семинары`)  from `Дисциплины`);
Chasotcka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать структуру с именем AEROFLOT, содержащую следующие поля: • название пункта назначения рейса; • время отправки. Написать программу, выполняющую следующие действия: • ввод с клавиатуры goodzi C# (си шарп) 1 15.11.2021 16:54
Дан двумерный массив размером n*m, заполненный случайными числами из заданного пользователем промежутка. Удвоить все строки и столбцы, содержащие ноль, вывести результат на экран и в файл. Sashka0089 Помощь студентам 1 12.05.2021 04:49
Простая программа: вывести из БД записи, содержащие слова, совпадающие с заданным словом Vika2016 PHP 8 15.12.2016 17:47
Из введенного предложения вывести на экран все слова, содержащие букву. luuucky Паскаль, Turbo Pascal, PascalABC.NET 4 31.01.2016 15:03
C++ Вывести на экран все натуральные числа из диапазона от A до B, в записи которых цифра 7 встречается maloy0103 Помощь студентам 1 27.12.2010 00:17