首页 新闻 赞助 找找看

请教一条SQL脚本

0
悬赏园豆:50 [已解决问题] 解决于 2011-06-23 17:10

下面是一个实际情况的变更,看似简单,想了半天竟然没搞出来,请同仁们赐教一下,不胜感激。

情况如下:

假如有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可能有多张图片,有些重复,有些不重复,并且重复条数不定。

清茶一杯(北斗星)的主页 清茶一杯(北斗星) | 初学一级 | 园豆:175
提问于:2011-05-13 21:42
< >
分享
最佳答案
0

delete tableb  from tableb x,  (select bid,maxt(indate)  from(select b.bid,b.messagenumber ,c.indate from tabelb b left join tablec c) t  group by  t.messagenumbe,t.bid) w where x.bid<>w.bid

收获园豆:50
死白的man | 老鸟四级 |园豆:2135 | 2011-05-13 23:21
多谢,思路正确。
清茶一杯(北斗星) | 园豆:175 (初学一级) | 2011-06-23 17:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册