【问题标题】:How to write oracle query to get the data of one column values如何编写oracle查询以获取一列值的数据
【发布时间】:2016-05-22 15:19:03
【问题描述】:

需要帮助编写查询

我有一列的表,值 A、B、C 和 D。

如何编写查询以获得以下结果: AB,AC,AD,BA,BC,BD,...

对此有任何帮助。提前致谢

【问题讨论】:

    标签: oracle oracle11g oracle10g


    【解决方案1】:

    试试:

    with x as (
        select 'A' as col from dual
        union all
        select 'B' as col from dual
        union all
        select 'C' as col from dual
        union all
        select 'D' as col from dual
    )
    select *
    from x join x x2 on x.col != x2.col
    

    输出:

    COL COL_1
    "A" "B"
    "A" "C"
    "A" "D"
    "B" "A"
    "B" "C"
    "B" "D"
    "C" "A"
    "C" "B"
    "C" "D"
    "D" "A"
    "D" "B"
    "D" "C"
    

    【讨论】:

      【解决方案2】:

      这个 SQL 应该可以解决问题:

      SELECT T1.COL || T2.COL
      FROM MY_TABLE T1, MY_TABLE T2
      WHERE T1.COL != T2.COL;
      

      这里,MY_TABLE 是您的表格,其中包含 COL 列。

      【讨论】:

        【解决方案3】:

        很酷的答案。这是我的版本,两个答案的组合:

        WITH x AS (
          SELECT 'A' AS col FROM dual
          UNION ALL
          SELECT 'B' AS col FROM dual
          UNION ALL 
          SELECT 'C' AS col FROM dual
          UNION ALL
          SELECT 'D' AS col FROM dual
        )
        
        SELECT x1.col || x2.col AS xx
        FROM x x1 JOIN x x2 ON x1.col <> x2.col
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-06-07
          • 1970-01-01
          • 1970-01-01
          • 2019-05-06
          • 2012-05-21
          • 2021-09-20
          • 2018-08-25
          • 2012-02-03
          相关资源
          最近更新 更多