在GROUP BY中使用OR

时间:2015-03-31 11:15:54

标签: sql oracle oracle-sqldeveloper

是否可以在GROUP BY中使用OR。

例如我试过:

GROUP BY a.id (b.id OR a.id2)

但这会产生错误

  

ORA-00907:缺少右括号

1 个答案:

答案 0 :(得分:5)

你的问题确实没有意义。但是,如果第一个值可能是coalesce(),则可以使用NULL

GROUP BY a.id, coalesce(b.id, a.id2)

如果这些是标志(取值为0或1),则or与以下内容相同:

GROUP BY a.id, (1 - b.id) * (1 - a.id2)

然而," id"是一个名为旗帜的字段的不寻常名称。