Re: [SQL ] MSSQL欄位自動取得上一筆的欄位

看板Database (資料庫)作者 (可愛小孩子)時間6年前 (2018/02/13 16:47), 編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串2/2 (看更多)
假設你 join 數張 table 得到的結果叫: result ;with tb1 as ( select t1.*, case when t1.COLA = 'GOOD' then t1.ID else t2.ID end as COLB, row_number() over (partition by t1.ID order by t2.ID desc) as num from result t1 left join result t2 on t1.COLA != 'GOOD' and t2.COLA = 'GOOD' and t1.ID > t2.ID ) select * from tb1 where num = 1 ※ 引述《Nowtreel (盜版陳金城)》之銘言: : 資料庫-MSSQL-2012 : 各位好 : 資料庫新手想請教 : 目前組出一張表,有欄位ID ... COLA : 是JOIN數張TABLE得到的結果 : 如下: : ID ... COLA COLB : --------------------- : AA ... GOOD AA : BB ... SOSO AA : CC ... BAD AA : DD ... TOOBAD AA : EE ... GOOD EE : FF ... GOOD FF : GG ... NULL NULL : HH ... GOOD HH : II ... BAD HH : JJ ... SOSO HH : 現今希望能繼續加入一欄COLB : 邏輯是判斷為 : 只要COLA是'GOOD',COLB就取ID值 : 只要COLA非'GOOD',COLB就取上一個COLA為GOOD的ID值 : 只要COLA為NULL,COLB就是NULL : 請問有什麼方式可以做到嗎? : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.80.36 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1518511673.A.C34.html

02/16 03:09, 6年前 , 1F
看來能達到我想要的效果,感謝您
02/16 03:09, 1F
文章代碼(AID): #1QWgOvmq (Database)
文章代碼(AID): #1QWgOvmq (Database)