Проблема с инструкцией ОБЪЕДИНЕНИЯ / созданием нового столбца, который использует данные из другого столбца, сохраняя этот столбец нетронутым

#sql #sql-server

Вопрос:

У меня возникли некоторые проблемы с некоторыми заданиями SQL, я пробовал google, я пытался спросить некоторых друзей, но безуспешно, я работаю над ВЫБОРОМ, ПРИСОЕДИНЕНИЕМ и ОБЪЕДИНЕНИЕМ прямо сейчас, текущая проблема заключается в:

Используйте UNION оператор для создания результирующего набора, состоящего из пяти столбцов таблицы «Учащиеся».:

  • Статус — вычисляемый столбец, содержащий значение «ВЫПУСКНИК» или «ВЫПУСКНИК».
  • FirstName — столбец «Имя»
  • Фамилия — столбец Фамилия
  • Дата зачисления — столбец Дата зачисления
  • Дата окончания учебы — столбец Дата окончания учебы

Если у студента нет значения в GraduationDate столбце, Status столбец должен содержать значение «СТУДЕНТ». В противном случае он должен содержать значение ГРАДУИРОВАНО.

Любая помощь будет высоко оценена

Я использую Microsoft SQL Server Management Studio 18

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

1. наличие проблем ничего не говорит нам о том, в чем ваша проблема. Добавьте четкое описание проблемы, кода и ошибки, а также того, что вы ожидаете.

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

Ответ №1:

Помогает ли это?

 SELECT Firstname, Lastname, EnrollmentDate, IIF(GraduationDate IS NULL, ‘Undergrad’, ‘Graduated’) AS Status
FROM Students
 

Подробности о IIF : https://docs.microsoft.com/en-us/sql/t-sql/functions/logical-functions-iif-transact-sql?view=sql-server-ver15

Если это не поможет, тогда, как и Стью, предложите в комментариях: предоставьте дополнительную информацию о том, что вы уже пробовали и что именно не сработало

Версия с UNION

У меня оставалось некоторое время, так что вот версия с UNION

 SELECT Firstname, Lastname, EnrollmentDate, ‘Graduated’ AS Status
FROM Students
WHERE GraduationDate IS NOT NULL
UNION
SELECT Firstname, Lastname, EnrollmentDate, ‘Undergrad’ AS Status
FROM Students
WHERE GraduationDate IS NULL
 

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

1. Я ценю помощь, но мне нужно добавить оператор ОБЪЕДИНЕНИЯ в select, я могу посмотреть, поможет ли это мне разобраться, но тем не менее все это по-прежнему ценится

2. Вам нужно добавить заявление о СОЮЗЕ, потому что ваш учитель/домашнее задание попросили вас об этом?

3. да, к сожалению

4. Как я и думал, тогда будем надеяться, что ваш учитель этого не прочтет ;-). И, пожалуйста, прочтите это письмо студентам