SQL-循环重复项以生成新的条件列
所以我在Oracle数据库中有数据,我从中获取一些行,如下所示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的
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;
给予