Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211

Как сделать запрос, что бы выводил не аттестованных студентов

02.04.2017, 13:26. Показов 2175. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня этот запрос выводит статистику студентов, все оценки находятся в таблице StudySchema.Progress.OCENKA, но мне нужно вывести теперь тех студентов, которых нету в этой таблице оценок (то есть не аттестованных) , что бы было примерно так, ИМЯ ФАМИЛИЯ Студента, рядом его оценки, предмет который он сдал (или не сдал, если не сдал что бы было надпись не аттестован)
SQL
1
2
3
4
5
6
7
8
9
10
SELECT StudySchema.Students.Stud_FAM, StudySchema.Progress.OCENKA,
CASE 
WHEN OCENKA =0
THEN 'троечник'
WHEN OCENKA <7
THEN 'хорошо'
ELSE 'отлично' 
END OCENKA
FROM StudySchema.Progress INNER JOIN
StudySchema.Students ON StudySchema.Progress.Stud_ID = StudySchema.Students.Stud_ID
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2017, 13:26
Ответы с готовыми решениями:

Как сделать условие отбора в запросе, чтобы, например, из списка студентов выводил самого старшего
Как сделать условие отбора в запросе, чтобы, например, из списка студентов выводил самого старшего Знает кто?

Как сделать так чтобы запрос выводил данные только текущего года?
Привет, народ! Вопрос состоит в следующем: Имеется перекрестный запрос в котором столбцы это даты по месяцам, но даты за разные...

Как сделать так что бы массив выводил наоборот
Как сделать так что бы массив выводил наоборот???

7
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
02.04.2017, 14:06
тогда нужно соединять таблицы с другой стороны

SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT 
  st.Stud_FAM, pr.OCENKA,
  CASE 
    WHEN OCENKA IS NULL THEN 'не аттестован'
    WHEN OCENKA =0  THEN 'троечник'
    WHEN OCENKA <7 THEN 'хорошо'
    ELSE 'отлично' 
  END OCENKA
FROM 
  StudySchema.Students st
  LEFT JOIN StudySchema.Progress pr ON st.Stud_ID = pr.Stud_ID
они по одной дисциплине всего аттестуются?
почему аж три части речи используются для одного атрибута? Глагол не аттестован, наречия хорошо и отлично и существительное троечник?
0
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
02.04.2017, 14:26  [ТС]
YuryK, У меня сделано так, в таблице StudySchema.Progress , каждый студент сдал по 1 предмету и получил оценку, всего предметов 5 (не важно), дело в том из 5 предметов он сдал только один предмет (у меня в таблице все студенты сдали только по одному предмету ,то есть остальные 4 предмета у них не аттестованные) мне это нужно вытащить.
Примерно так было:
Иванов Андрей - Математика - Хорошо
Иванов Андрей - Информатика - не аттестован (потому что в таблице StudySchema.Progress, его там вообще нету по этому предмету)
Иванов Андрей - Англ язык - не аттестован
итак далее

Есть таблицы Subjects , [StudySchema].[Students], [StudySchema].[Progress]
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
02.04.2017, 15:06
Цитата Сообщение от MR_Clock Посмотреть сообщение
нету по этому предмету
вы нам раскрыли карты только про

Students(Stud_ID)
Progress(Stud_ID, OCENKA)
Subjects ()

поэтому про Математика и пр. я ничем, пока, помочь не могу
0
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
02.04.2017, 15:19  [ТС]
YuryK, BezZaprozov.rar
Моя база данных!
0
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
02.04.2017, 15:21  [ТС]
!!!
Вложения
Тип файла: rar BezZaprozov.rar (2.8 Кб, 6 просмотров)
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
02.04.2017, 16:26
Лучший ответ Сообщение было отмечено MR_Clock как решение

Решение

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT 
  Students.Stud_FAM, 
  Subjects.Subj_NAME, 
  Progress.OCENKA,
  CASE 
    WHEN OCENKA IS NULL THEN 'не аттестован'
    WHEN OCENKA =0  THEN 'удовл-но'
    WHEN OCENKA <7 THEN 'хорошо'
    ELSE 'отлично' 
  END OcenkaName
FROM 
  Students 
  JOIN Study ON Students.Grup_ID = Study.Grup_ID
  JOIN Subjects ON Subjects.Subj_ID = Study.Subj_ID
  LEFT JOIN Progress ON 
    Students.Stud_ID = Progress.Stud_ID AND Progress.Subj_ID = study.Subj_ID
1
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
02.04.2017, 16:31  [ТС]
YuryK, Огромное спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2017, 16:31
Помогаю со студенческими работами здесь

Как сделать, чтобы запрос between брал поля с разных таблиц, и выводил все в одни DBGrid
Здравствуйте, помогите пожалуйста, подключил БД к delphi, как сделать что бы запрос between брал поля с разных таблиц, и выводил все в одни...

Как сделать так, что бы отчет не выводил пустые значения?
Добрый день. Подскажите пожалуйста как сделать так, что бы в отчете не выводились пустые значения (столбики)? Есть таблица. Некоторые...

Вывести список не аттестованных студентов
Добрый день помогите пожалуйста Даны ФИО студентов и 5 оценок полученных студентами за сессию. Вывести список не аттестованных студентов...

Вывести фамилии студентов, не аттестованных по тем предметам
1. Даны сведения о результатах аттестации, что и в предидущей задаче. вывести фамилии студентов не аттестованных по тем предметам. 2....

Файлы. Как сделать так, что бы не только последний ответ выводил, а все которые удовлетворяют условию?
Господа, помогите. Сделал программу. В идеале ответ должен выдавать несколько значений, то есть несколько людей если условие верное. Но у...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru