MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

一些特殊sql的思路

Posted on 2008-10-08 19:19 leekiang 阅读(157) 评论(0)  编辑  收藏 所属分类: sql
1,批量修改明细时要判断主单的状态是否允许,可用exists变通解决
 

update TB_DETAIL d

        set d.flag= 1,

           d.enabletime=sysdate

      where d.testfield='AAA' and

exists (select *

               from TB_DETAIL tempd

               left join TB_MAIN m on tempd.mainid = m.mainid

              where m.status = 'true'

                and tempd.detailid = d.detailid);

2,查找某些字段重复的记录,可先对那几个字段分组,然后看个数,个数大于1的就说明有重复。但这样查出的是所有重复的记录,如果不想重复,再distinct一下
    --如:查找stuid重复的记录
  select * from stuinfo
  where stuid in (
  select stuid from stuinfo
  group by stuid
  having(count(*))>1
  )
  参考

只有注册用户登录后才能发表评论。


网站导航: