首页 > 解决方案 > 在数据库表中选择不同的列值

问题描述

我需要从 Oracle DB 中我的数据库表中的所有列中找到所有不同的值。我尝试对所有列进行不同的处理,它给了我所有值的不同组合,而不是每列的不同值。除了单独对每列执行不同的操作之外,是否有更好的方法来做到这一点。例如:表结构:Indicator_Name Dimension1 Dimension2 ..... DimensionN

我需要为每个维度列找到不同的值

提前致谢

标签: sqldatabaseoracle

解决方案


您需要将值提取到单个列中。假设数据类型都是兼容的,那么union你想要什么:

select col1 from t
union -- on purpose to remove duplicates
select col2 from t
union 
select col3 from t
union 
. . . ;

您还可以使用横向连接:

select x.col
from t cross join lateral
     (select t.col1 from dual union all
      select t.col2 from dual union all
      . . .
     ) x;

推荐阅读