Нужна помощь в написании SQL-запроса Распределить отдельные столбцы на несколько столбцов в соответствии с подробной таблицей

#sql #sql-server #database

#sql #sql-server #База данных

Вопрос:

Поскольку картинки говорят все, что мне нужно. У меня есть две таблицы с именем «tblPerson», в которых хранятся все типы имен пользователей (например, Student, Parent, Teachers, Staff Members), и это еще одна таблица с именем «tblStudents», как показано на рисунке, в которой хранятся сведения о студентах в виде идентификаторов (идентификаторы указаны в tblPerson). Итак, мне нужен вывод, который я упомянул на картинке. Итак, пожалуйста, помогите написать запрос для этого. Заранее, связка молитв и благодарностей

введите описание изображения здесь

Комментарии:

1. Добавьте пример данных таблицы и ожидаемый результат. Также покажите нам вашу текущую попытку запроса. (И не помечайте продукты, которые не задействованы. Используете ли вы здесь как MySQL, так и MS SQL Server?)

Ответ №1:

Простое объединение сделает все:

 SELECT  st.personName stdName,
        fa.personName fatherName
FROM tblStudent s
LEFT JOIN tblPerson st
    ON st.id = s.stdName
LEFT JOIN tblPerson fa
    ON fa.id = s.fatherName 
  

Вывод:

 stdName fatherName
Hamdan  Shahid
Sarah   William
Robert  William