Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sql задача / 25 сообщений из 31, страница 1 из 2
02.08.2016, 14:01:14
    #39284562
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
Добрый день!

Помогите пожалуйста с задачей
В базе есть 2 таблицы.
студенты(id_студента,имя_студента, дата_рождения).
Дисциплины(id_предмета, название_предмета,id_студента)

1.Вывести названия предметов и имя студента.
2.Вывести количество студентов которые не имеют ни одного предмета.
3.В таблице где имя студента и количество его предметов(если у студента нет ни одного предмета, необходимо что бы результат был 0)
4)количество предметов у всех студентов
...
Рейтинг: 0 / 0
02.08.2016, 14:04:52
    #39284567
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
правильно ли у меня получилось 1 и 4 задание?
1
select p.predment_name, s.name
from students s
join predmet p on s.id_stud = p.id_stud
4
select count(p.predment_name)
from books b
join predmet p on s.id_stud = p.id_stud
...
Рейтинг: 0 / 0
02.08.2016, 14:07:52
    #39284570
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
задачи из учебного курса по степику) в sql новичок
...
Рейтинг: 0 / 0
02.08.2016, 14:08:23
    #39284571
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
alexey_wisправильно ли у меня получилось 1 и 4 задание?
.....
from books b

а книги это уже из задания соседа
...
Рейтинг: 0 / 0
02.08.2016, 14:09:36
    #39284572
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
нееет)) названия таблиц спутал с другой задачей

1
select p.predment_name, s.name
from students s
join predmet p on s.id_stud = p.id_stud
4
select count(p.predment_name)
from students s
join predmet p on s.id_stud = p.id_stud
...
Рейтинг: 0 / 0
02.08.2016, 14:13:20
    #39284573
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
подскажите пожалуйста, а 3 задание правильно ли получилось у меня?
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
having count(*) < 1
...
Рейтинг: 0 / 0
02.08.2016, 14:22:22
    #39284581
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
alexey_wisа 3 задание правильно ли получилось у меня?
сам можешь прочитать что тебе требуется в 3 задании ?
или нужно цитировать ?
автор3.В таблице где имя студента и количество его предметов(если у студента нет ни одного предмета, необходимо что бы результат был 0)
...
Рейтинг: 0 / 0
02.08.2016, 14:23:37
    #39284585
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
извиняюсь, я имел ввиду 2ое задание, поспешил
...
Рейтинг: 0 / 0
02.08.2016, 14:25:46
    #39284589
xenix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
да и второе не факт, что правильно
авторВывести количество студентов которые не имеют ни одного предмета.
т.е. об этом студенте нет записи в таблице Дисциплины
...
Рейтинг: 0 / 0
02.08.2016, 14:32:13
    #39284600
invisiblesereja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
Почему join, а не просто селект в селекте?
Чем это лучше?
Никогда почти join не использовал...
...
Рейтинг: 0 / 0
02.08.2016, 14:36:33
    #39284604
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
мне больше с жоином привычнее
...
Рейтинг: 0 / 0
02.08.2016, 14:40:33
    #39284612
sql задача
alexey_wisподскажите пожалуйста, а 3 задание правильно ли получилось у меня?
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
having count(*) < 1

неправильно ни для 2, ни для 3 (в 3 вообще непонятно, что делать)
Код: plsql
1.
"having count(*) < 1"



хахаха
учить азы!
...
Рейтинг: 0 / 0
02.08.2016, 14:43:34
    #39284614
sql задача
alexey_wisправильно ли у меня получилось 1 и 4 задание?
1
select p.predment_name, s.name
from students s
join predmet p on s.id_stud = p.id_stud
4
select count(p.predment_name)
from books b
join predmet p on s.id_stud = p.id_stud

1 - да
4 - нет (для обоих видов понимания задания: общее кол-во или кол-во по каждому студенту)
...
Рейтинг: 0 / 0
02.08.2016, 14:49:21
    #39284622
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
а что не так во втором задании? в условии having count(*) < 1 идет подсчет количества предметом и показать только те которых нет
...
Рейтинг: 0 / 0
02.08.2016, 14:53:36
    #39284628
invisiblesereja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
alexey_wis having count(*) < 1

Выводишь студентов, у которых счетчик предметов меньше 1. Круто.
...
Рейтинг: 0 / 0
02.08.2016, 14:55:31
    #39284632
sql задача
alexey_wisа что не так во втором задании? в условии having count(*) < 1 идет подсчет количества предметом и показать только те которых нет

кажется, я начинаю понимать Elic'a....

having применяется к результату группировки, то есть к тому, что ЕСТЬ после группировки
группировка в свою очередь тоже применяется к тому, что уже ЕСТЬ
...
Рейтинг: 0 / 0
02.08.2016, 14:56:09
    #39284633
s0und
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
invisibleserejaalexey_wis having count(*) < 1

Выводишь студентов, у которых счетчик предметов меньше 1. Круто.

Давайте выясним, как ему джоин написать, а потом уже ненужные строки отсечем
...
Рейтинг: 0 / 0
02.08.2016, 15:07:36
    #39284646
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
допустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
...
Рейтинг: 0 / 0
02.08.2016, 15:11:19
    #39284652
s0und
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
alexey_wisдопустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
Как Вы посчитали кол-во предметов? Особенно интересует Сидоров. В том варианте, что Вы привели выше, Сидоров в результат запроса не попадет.
...
Рейтинг: 0 / 0
02.08.2016, 15:14:27
    #39284654
sql задача
alexey_wisдопустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
а ты уверен, что после группировки Сидоров кассир ?
...
Рейтинг: 0 / 0
02.08.2016, 15:16:32
    #39284656
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
так я получу количество предметов у студентов
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
...
Рейтинг: 0 / 0
02.08.2016, 15:19:23
    #39284657
sql задача
alexey_wisтак я получу количество предметов у студентов
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet

разберись, как работает вот это
Код: plsql
1.
join predmet p on s.id_stud = p.id_stud
...
Рейтинг: 0 / 0
02.08.2016, 15:23:59
    #39284664
Бельфя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
alexey_wisтак я получу количество предметов у студентов
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
Тут скорее получается количество студентов у предмета :-)
Почитай про внутреннее, левое, правое и внешние соединения.
...
Рейтинг: 0 / 0
02.08.2016, 15:24:28
    #39284666
alexey_wis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
а вы можете помочь сделать? я просто не знаю как, второй день только с sql столкнулся
...
Рейтинг: 0 / 0
02.08.2016, 15:26:05
    #39284667
s0und
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql задача
элементарно, ватсонalexey_wisдопустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
а ты уверен, что после группировки Сидоров кассир ?

Сидоров уже не кассир еще до группировки
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sql задача / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]