首页 > 解决方案 > UNION 语句出现问题/创建使用另一列数据同时保持该列完整的新列

问题描述

我在一些 SQL 分配上遇到了一些问题,我试过谷歌,我试过问一些没有运气的朋友,我现在正在研究 SELECT、JOIN 和 UNION,目前的问题是:

使用UNION运算符生成一个包含来自 Students 表的五列的结果集:

如果学生在列中没有值,则GraduationDateStatus列应包含 UNDERGRAD 值。否则,它应该包含一个 GRADUATED 值。

任何帮助将不胜感激

我正在使用 Microsoft SQL Server Management Studio 18

标签: sqlsql-server

解决方案


这有帮助吗?

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

详情IIFhttps ://docs.microsoft.com/en-us/sql/t-sql/functions/logical-functions-iif-transact-sql?view=sql-server-ver15

如果这没有帮助,那么像 Stu 一样,在评论中建议:提供更多信息,了解您已经尝试过的内容以及哪些内容不起作用

版本与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

推荐阅读