如何根据SQL中其他两列的值添加新列?

如何根据SQL中其他两列的值添加新列?,sql,Sql,我有下表(见附件)。我想生成SQL代码,s.t。如果任何学校在第3阶段开始,该学校将获得值1。如果学校也经历了第1阶段或第2阶段(或两者),则该值应为0 目前,我只有从数据库生成的前2列。我需要包含额外的列,但我不知道如何实现该列的SQL代码 我是SQL新手,因此非常感谢您的帮助。您可以使用窗口函数: select t.*, min(case when phase in ('Phase1', 'Phase2') then 0 when phase

我有下表(见附件)。我想生成SQL代码,s.t。如果任何学校在第3阶段开始,该学校将获得值1。如果学校也经历了第1阶段或第2阶段(或两者),则该值应为0

目前,我只有从数据库生成的前2列。我需要包含额外的列,但我不知道如何实现该列的SQL代码


我是SQL新手,因此非常感谢您的帮助。

您可以使用窗口函数:

select t.*,
       min(case when phase in ('Phase1', 'Phase2') then 0
                when phase = 'Phase3' then 1
           end) over (partition by school) as new_column
from t;

首先,学习您正在使用的RDBMS。不要只标记4个随机RDBMS。只标记您实际使用的RDBMS。然后向我们展示您的尝试,并解释它们不起作用的原因。