Top.Mail.Ru
Ответы

Помогите написать код в sql !!!!!!!!

Спроектировать базу данных о Студентах (Фамилия, Имя, Отчество, пол, дата рождения, группа, ФИО классного руководителя). Создать запрос для формирования списка студентов заданной группы с указанием классного руководителя, с сортировкой по дате рождения и подсчетом именинников в каждом месяце.

По дате
По рейтингу
Аватар пользователя
Мыслитель
6мес

https://www.perplexity.ai/search/pomogite-napisat-kod-v-sql-spr-epqQNnhERXSdh8FlAJUOzw

Аватар пользователя
Просветленный
6мес

mysql -D students -u root -p < students.sql

Файл students.sql напишешь сам. В Блокноте, npp или редакторе Far Manager
Это простой текстовый файл с командами sql

Что особенно хорошо - при попытке писать в БД он показывает, в какой строке у тебя ошибка синтаксиса. То есть не надо переписывать всё заново, открыл файл и исправил ошибку.

И разумеется файл лучше сразу иметь в кодировке utf-8

Аватар пользователя
Искусственный Интеллект
6мес

Access/VBA

1234567891011121314151617181920212223242526272829303132333435363738394041
 Sub QueryStudentsByGroup() 
    Dim db As DAO.Database 
    Dim rs As DAO.Recordset 
    Dim groupName As String 
    Dim sql As String 
     
    ' Задаем имя группы для выборки 
    groupName = "Группа A" ' Здесь можно указать любую группу 
     
    ' SQL-запрос для формирования списка студентов с сортировкой и подсчетом 
    sql = "SELECT Students.LastName, Students.FirstName, Students.MiddleName, " & _ 
          "Students.Gender, Students.DateOfBirth, Groups.GroupName, Teachers.FullName AS ClassTeacher, " & _ 
          "MONTH(Students.DateOfBirth) AS BirthMonth, " & _ 
          "(SELECT COUNT(*) FROM Students AS S WHERE MONTH(S.DateOfBirth) = MONTH(Students.DateOfBirth)) AS BirthdayCount " & _ 
          "FROM (Students " & _ 
          "INNER JOIN Groups ON Students.GroupID = Groups.GroupID) " & _ 
          "INNER JOIN Teachers ON Groups.ClassTeacherID = Teachers.TeacherID " & _ 
          "WHERE Groups.GroupName = '" & groupName & "' " & _ 
          "ORDER BY Students.DateOfBirth;" 
     
    ' Открываем набор записей 
    Set db = CurrentDb() 
    Set rs = db.OpenRecordset(sql, dbOpenSnapshot) 
     
    ' Вывод результата в окно Immediate (Ctrl+G) 
    Debug.Print "Список студентов группы: " & groupName 
    Debug.Print "Фамилия | Имя | Отчество | Пол | Дата рождения | Классный руководитель | Месяц рождения | Именинников в месяце" 
    Do While Not rs.EOF 
        Debug.Print rs!LastName & " | " & rs!FirstName & " | " & rs!MiddleName & " | " & rs!Gender & " | " & _ 
                    rs!DateOfBirth & " | " & rs!ClassTeacher & " | " & rs!BirthMonth & " | " & rs!BirthdayCount 
        rs.MoveNext 
    Loop 
     
    ' Закрываем набор записей 
    rs.Close 
    Set rs = Nothing 
    Set db = Nothing 
     
    MsgBox "Запрос выполнен. Результаты в окне Immediate (Ctrl+G).", vbInformation 
End Sub 
 

Result


12345678
 
Список студентов группы: Группа A 
Фамилия | Имя | Отчество | Пол | Дата рождения | Классный руководитель | Месяц рождения | Именинников в месяце 
Смирнов | Алексей | Игоревич | M | 15.04.2003 | Иванов Иван Иванович | 4 | 1 
Сидорова | Анна | Владимировна | F | 25.11.2003 | Иванов Иван Иванович | 11 | 1