~~~~Oracle sql 難題~~~help

請教下各位ching, 點樣先做到由(1) 去到 (2)的效果, 我用oracle database 11g

(1)
       ID       Date   C_code  Code_desc
A00001        201409        Mj                NULL
A00001        201409        CON        Technical
A00001        201409        CON        Stage Manage
A00002        201409        CK                NULL

A00001,只是要相同ID的兩行CON就要, Mj就不要(即是有多過一行相同ID的資料, 永遠只要CON, 其他不要), 另外, A00002只得自己所以要保留
(2)
        ID     |   Date  | C_code | Code_desc | C_code1 | C_code_desc2   
A00001   201409           CON          Technical       CON          Stage Manage
A00002         201409            CK             N/A                N/A            N/A

如果有3個CON 要分3個 C_code1~3, C_code_desc1~3
column 數量base on maximum value count 有幾多

你係咪想咁?

TOP

如果有3個CON 要分3個 C_code1~3, C_code_desc1~3
column 數量base on maximum value count 有幾多

你係咪 ...
董事長 發表於 2015-3-6 05:48 PM


是呀 ching

TOP

TOP

回覆 4# look_yau


用左, 但是用吳到我要的效果

TOP

本帖最後由 CT333 於 2015-3-7 13:52 編輯

即係column個數目係dynamic..
就咁一句sql似唔得.

如果可以用stored procedure...
可以試下create temp table on the fly..再merge into.
一係寫for loop連環self join..

ps:搵緊p/ap工..有無人想請人..

TOP

都用stored procedure試過寫, 但是都是出不到自己想要的效果,

TOP

即係column個數目係dynamic..
就咁一句sql似唔得.

如果可以用stored procedure...
可以試下create temp ta ...
CT333 發表於 2015-3-7 13:26


唔一定
應該可以 pivot-xml 左佢再 de-xml

TOP

最簡單就用dynamic sql
用個looping 整句sql 出黎

TOP

回覆  look_yau


用左, 但是用吳到我要的效果
save_null 發表於 2015-3-6 22:47



    pivot 要做一定做都。

TOP