是否可以在GROUP BY中使用OR。
例如我试过:
GROUP BY a.id (b.id OR a.id2)
但这会产生错误
ORA-00907:缺少右括号
答案 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"是一个名为旗帜的字段的不寻常名称。