2015-09-27 38 views

回答

0

我認爲你可以使用像日查詢是:

SELECT 
    CASE WHEN ROW_NUMBER() OVER (PARTITION BY Id ORDER BY Id) = 1 THEN Id ELSE Null END As Id, 
    Comments, Type 
FROM 
    yourTable 
0

這將在Oracle 11+上正常工作。我所做的是彙總評論和類型列和之間,我插入CHR(10),這是換行的ASCII值。你可能在你的客戶端看不到輸出,但是如果你在sql開發人員命令行中運行它,你會看到所需的輸出。

  WITH TBL (ID,COMMENTS,TYPE) 
      AS (
      SELECT 1,'Work','Day' FROM DUAL UNION 
      SELECT 1,'Play','Afternoon' FROM DUAL UNION 
      SELECT 1,'Sleep','Night' FROM DUAL 
     ) 
      SELECT ID, 
      LISTAGG(COMMENTS,CHR(10)) WITHIN GROUP (ORDER BY ID) COMMENTS, 
      LISTAGG(TYPE,CHR(10)) WITHIN GROUP (ORDER BY ID) TYPE 
      from tbl group by id