Помогите составить запрос для SQL Базы данных.

программирование MySQL Образование базы данных sql

По заданию нужно составить 5 запросов для данной БД
3 я кое как сделал, с оставшимися всё сложнее :
1. Студентов, которые представили более одного доклада
2. Студентов, которые подготовили все виды работ

вот что получилось когда попытался :
1. select ФИО_Автора
from R2
where (select count(Вид_Работ) = 'Доклад')>1;

2. select ФИО_Автора
from R2
where (select count (distinct Вид_Работ) from R2) = (select count (distinct Вид_работ) from R4);

Не понимаю почему не работает, подскажите пожалуйста где я ошибся.


pragma foreign_keys=1;

drop table if exists R3;
drop table if exists R2;
drop table if exists R1;
drop table if exists R4;

create table R1 (
ФИО text primary key,
№_Группы varchar(4) not null
);

insert into R1 values ('Иванов Иван Иванович', 4949);
insert into R1 values ('Петров Николай Николаевич', 3951);
insert into R1 values ('Сидоров Антон Васильевич', 3939);
insert into R1 values ('Абрамов Антон Александрович', 4949);


create table R2 (
Название_работы text,
ФИО_Автора text,
Вид_Работ text,
foreign key (ФИО_Автора) references R1(ФИО)
);

insert into R2 values ('Геометрия Фракталов', 'Иванов Иван Иванович', 'УИРС');
insert into R2 values ('Жизнь Ёжиков', 'Сидоров Антон Васильевич', 'Статья');
insert into R2 values ('Экономика Гондураса', 'Петров Николай Николаевич', 'Доклад');
insert into R2 values ('Операционные системы', 'Петров Николай Николаевич', 'Доклад');
insert into R2 values ('Операционная система UNIX', 'Сидоров Антон Васильевич', 'Доклад');
insert into R2 values ('Геометрия Фракталов', 'Сидоров Антон Васильевич', 'УИРС');


create table R3 (
№_Группы varchar (4) not null,
Факультет integer not null
);

insert into R3 values (4949, 4);
insert into R3 values (3951, 3);
insert into R3 values (3951, 3);

create table R4 (
Вид_работ text not null,
Количество_баллов integer not null
);

insert into R4 values ('УИРС', 5);
insert into R4 values ('Доклад', 4);
insert into R4 values ('Статья', 4);
insert into R4 values ('Доклад', 3);

Ответы:
select ФИО_Автора
from R2
where Вид_Работ = 'Доклад'
group by ФИО_Автора
having count(*)>1


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.