Oracle中所需报告生成的自定义查询

时间:2013-05-20 06:54:51

标签: mysql sql oracle11g oracle10g

以下是表格的结构

column A, column B, column C
value A,  Value B,  Value C1
value A,  Value B,  Value C2
Value A2, Value B2, Value C3

现在,我希望将结果视为 结果

column A, column B, column C
 value A,  Value B,  Value C1
        ,         ,         Value C2
Value A2, Value B2, Value C3

因此,如果A列和B列的值相同且C列的值不同那么,如果A和B的多个值相同但C不同,我如何取出上述示例的结果

1 个答案:

答案 0 :(得分:0)

您应该根据您的问题仔细提供标签。 你已经给了mysql以及oracle 11g和oracle10g。

好的..这个查询在oracle中非常简单,后面的查询在Oracle数据库中进行了测试。

您可以使用ROW_NUMBER()功能,如下所示 -

SELECT CASE
         WHEN Rn_Cnt = 1 THEN
          Columna
         ELSE
          NULL
       END Columna,
       CASE
         WHEN Rn_Cnt = 1 THEN
          Columnb
         ELSE
          NULL
       END Columnb,
       Columnc
  FROM (SELECT Row_Number() Over(PARTITION BY Columna, Columnb ORDER BY Columnc) Rn_Cnt,
               Columna,
               Columnb,
               Columnc
          FROM Table_Name)