通过基于列值显示组之后的默认值



在我的组之后,如果特定值出现,将两个值结合到一个值。

我的选择查询与group by State,City和Group中的Direction列。方向列可以具有3个值,即"左"或"右"或"两者"。理想情况下,一个城市只有一个方向(这意味着一排)。因此,在只有左或右进来的情况下,我必须按原样显示。而在特定州和城市的情况下,如果有两个记录显示 - 一个是正确的,另一个是左边的;然后只能显示一个带有方向的记录。

类似的东西,从分组中删除 direction并将其移至案例:

select State, city
   ,case when min(direction) = max(direction) -- only one direction
         then max(direction)                  -- -> return it
         else 'both'
    end
from tab
group by State, city

最新更新