下面是一个实际情况的变更,看似简单,想了半天竟然没搞出来,请同仁们赐教一下,不胜感激。情况如下:
假如有A B C三张表。
A:AID 、MessageNumber、User
B: BID、MessageNumber、ImageNmae
C: CID、ImageName、ImageURL、InDate
A中的一个Message可以对应B中多条Image(通过MessageNumber)。
B中一个ImageName对应C中一条数据(通过ImageName)。
通过C中的ImageURL可以判断出图片是否重复,如果itemURL相同,认为重复。
----------------------------------------------------------------------------------------------
要求删除B表中Message重复的Image信息,只保留重复Image中最新的一条,根据C表中的InDate判断。
注意:一条Message可能有多张图片,有些重复,有些不重复,并且重复条数不定。
假如有A B C三张表。
A:AID 、MessageNumber、User
B: BID、MessageNumber、ImageNmae
C: CID、ImageName、ImageURL、InDate
A中的一个Message可以对应B中多条Image(通过MessageNumber)。
B中一个ImageName对应C中一条数据(通过ImageName)。
通过C中的ImageURL可以判断出图片是否重复,如果itemURL相同,认为重复。
----------------------------------------------------------------------------------------------
要求删除B表中Message重复的Image信息,只保留重复Image中最新的一条,根据C表中的InDate判断。
注意:一条Message可能有多张图片,有些重复,有些不重复,并且重复条数不定。
where ImageNmae not in(
select ImageNmae from c t where not exists(
select 1 from c where ImageURL=t.ImageURL and InDate>t.InDate
)
)
友情提示,删除数据之前最好先做好备份