-4

以下是表的结构

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 不同

4

1 回答 1

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)
于 2013-05-20T07:31:48.423 回答