SQL-循环重复项以生成新的条件列

SQL-循环重复项以生成新的条件列,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,所以我在Oracle数据库中有数据,我从中获取一些行,如下所示 ID TYPE 1 A 1 B 2 A ID TYPE COND 1 A Y 1 B N 2 A Y 我有一个转换为条件列的类型列表,比如(如果a然后是Y,如果B然后是N),所以看起来像这样 ID TYPE 1 A 1 B 2 A ID TYPE COND 1 A Y 1 B N 2 A Y 是否有方法添加另一列,以检查特定ID的

所以我在Oracle数据库中有数据,我从中获取一些行,如下所示

ID  TYPE 
1   A
1   B
2   A
ID  TYPE COND
1   A    Y
1   B    N
2   A    Y
我有一个转换为条件列的类型列表,比如(如果a然后是Y,如果B然后是N),所以看起来像这样

ID  TYPE 
1   A
1   B
2   A
ID  TYPE COND
1   A    Y
1   B    N
2   A    Y
是否有方法添加另一列,以检查特定ID的COND列中的所有值是否为Y?因此,最终结果如下:

ID  TYPE COND COND2
1   A    Y    N
1   B    N    N
2   A    Y    Y

我知道我可以在R中轻松地做到这一点,但在这个过程中跳过使用其他软件会很好。

使用分析函数。在这种情况下,
min()
执行您想要的操作:

select t.*,
       min(cond) over (partition by id) as cond2
from t;
给予