根据列值在“分组依据”之后显示默认值

时间:2018-12-21 20:53:03

标签: group-by teradata

分组之后,如果有特定值,请将两个值合并为一个。

“分组依据”的我的选择查询在“分组依据”中具有“州”,“城市”和“方向”列。方向列可以有3个值,“左”,“右”或“两个”。理想情况下,一个城市只有一个方向(即一行)。因此,在只有左或右进来的情况下,我必须按原样显示它。而对于特定的州和城市,如果有两个记录出现,则说一个为右,另一个为左;那么应该只显示方向为“两个”的一条记录。

1 个答案:

答案 0 :(得分:0)

类似这样,将direction从分组中删除并将其移至CASE:

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