sql - UNION 语句出现问题/创建使用另一列数据同时保持该列完整的新列
问题描述
我在一些 SQL 分配上遇到了一些问题,我试过谷歌,我试过问一些没有运气的朋友,我现在正在研究 SELECT、JOIN 和 UNION,目前的问题是:
使用UNION
运算符生成一个包含来自 Students 表的五列的结果集:
- 状态 - 包含 UNDERGRAD 或 GRADUATED 值的计算列
- 名字 - 名字列
- 姓氏 - 姓氏列
- EnrollmentDate - EnrollmentDate 列
- GraduationDate - GraduationDate 列
如果学生在列中没有值,则GraduationDate
该Status
列应包含 UNDERGRAD 值。否则,它应该包含一个 GRADUATED 值。
任何帮助将不胜感激
我正在使用 Microsoft SQL Server Management Studio 18
解决方案
这有帮助吗?
SELECT Firstname, Lastname, EnrollmentDate, IIF(GraduationDate IS NULL, ‘Undergrad’, ‘Graduated’) AS Status
FROM Students
如果这没有帮助,那么像 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
推荐阅读
- reactjs - 将 Draft JS 实现到 Next JS 中,文本编辑器不会显示
- angular - TypeError:修补值时无法读取未定义的属性“id”
- c++ - 处理对象组的设计模式
- flutter - 在长条上添加 Flutter AlertDialog?
- javascript - 根据用户国家/地区重定向页面(Javascript)
- python - Python Pandas 绘图警告
- geoserver - 如何使用 NDVI 索引在 Geoserver 上实现渲染转换?
- c# - 数据绑定的 WPF 组合框错误
- java - Android - 如何使用 SSID 和密码连接 Wi-Fi
- c# - ActiveMQ NMS SSL:从远程机器运行应用程序