Re: [SQL ] 如何刪除Table中不同列且不同欄位重覆值?

作者: winall (winall)   2016-04-01 11:10:43
select A.*
from Table A left join
(
select distinct C.ID
from(
select distinct ID,OldValue
from Table) C join
(
select distinct ID,NewValue
from Table) D
on C.ID=D.ID and C.OldValue=D.NewValue
)B
on A.ID=B.ID
where B.ID is null
如有時間條件自行加上
※ 引述《rockchangnew (rock)》之銘言:
: ※ 引述《seabok (思念,留在1999)》之銘言:
: : 資料庫名稱:MS SQL
: : 資料庫版本:2008
: : 內容/問題描述:
: : 請問各位賢拜:
: : 有一Table A如下:
: : ID UPDate OldValue NewValue
: : 001 2016/3/24 AAA BBB
: : 002 2016/3/23 CCC DDD
: : 002 2016/3/24 DDD CCC
: : 需求是想撈出在日期區間內有異動的資料,也就是最終的OldValue <> NewValue。
: : 可是在表中第2、3列,ID=002的資料在3/23先是自CCC改成DDD,
: : 然後在3/24又自DDD改回CCC,最終結果其實是沒有異動。
: : 請問SQL該如何下才能直接排除這種情形呢?(也就是只有ID=001這筆符合)
: : 先感謝大家了~

Links booklink

Contact Us: admin [ a t ] ucptt.com