0

我有一个包含学生信息表的数据库。(学生)。在其他字段(姓氏、名字和性别等)中,它包含一个用于高中 GPA 的字段和另一个用于大学 GPA 的字段。我被要求在报告中只显示其中一个 GPA 字段。我想在选择语句中创建一个子查询以仅显示 1 个 GPA 值。一些学生同时拥有高中和大学 GPA,而另一些学生只列出了一项。对于那些同时列出的人,我希望显示大学 GPA。

我该怎么做呢?

4

1 回答 1

0

这是实现它的一种方法。使用案例陈述。仅当您在同一行数据上有一个 HighSchool 列和一个 College 列时。

SELECT
x.Name
, x.GPA
, ISNULL(CollegeGPA, HighSchoolGPA) [GPA]
, CASE WHEN CollegeGPA IS NOT NULL
             THEN 'College'
             ELSE 'HighSchool'
             END [Type Of GPA]
FROM Data

如果这不起作用,请发布您的数据库架构和一些示例数据。

于 2013-06-17T18:48:13.287 回答