循环更新语句怎么写?

seima 2003-07-08 03:09:12
下列语句能否用一个语句表示?



update sjtj set sjks=a.imin, sjjx=b.imax
from sjtj (select min(sjbh),max(sjbh) from CXGZ
where sjbh like '11%' )


update sjtj set sjks=b.imin, sjjx=b.imax
from sjtj (select min(sjbh),max(sjbh) from CXGZ
where sjbh like '12%' )


update sjtj set sjks=c.imin, sjjx=c.imax
from sjtj (select min(sjbh),max(sjbh) from CXGZ
where sjbh like '21%' )


update sjtj set sjks=d, sjjx=d.imax
from sjtj (select min(sjbh),max(sjbh) from CXGZ
where sjbh like '22%' )

update sjtj set sjks=e.imin, sjjx=e.imax
from sjtj (select min(sjbh),max(sjbh) from CXGZ
where sjbh like '31%' )


update sjtj set sjks=f.imin, sjjx=f.imax
from sjtj (select min(sjbh),max(sjbh) from CXGZ
where sjbh like '32%' )

...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-07-08
  • 打赏
  • 举报
回复
楼上两位的方法应该可以了.
pengdali 2003-07-08
  • 打赏
  • 举报
回复
update sjtj set sjks=f.imin,sjjx=f.imax from (select left(sjbh,2) sjbh,min(sjbh) imin,max(sjbh) imax from CXGZ
where left(sjbh,2) in ('32','31','11','12','21','22') group by left(sjbh,2)) f where sjtj的编号列=sjbh
happydreamer 2003-07-08
  • 打赏
  • 举报
回复
update sjtj
set sjks=a.imin, sjjx=a.imax
from (select left(sjbh,2) sjbh,min(sjbh) imin,max(sjbh) imax from CXGZ where left(sjbh,2)
in ('11','21', '22' ,'31' ,32') group by left(sjbh,2) ) a
where left(sjtj.sjbh,2)=a.lsjbh
happydreamer 2003-07-08
  • 打赏
  • 举报
回复
update sjtj
set sjks=a.imin, sjjx=a.imax
from (select left(sjbh,2) sjbh,min(sjbh) imin,max(sjbh) imax from CXGZ where left(sjbh,2)
in ('11','21', '22' ,'31' ,32') group by left(sjbh,2) ) a
where left(sjtj.sjbh,2)=a.lsjbh
seima 2003-07-08
  • 打赏
  • 举报
回复
不是我想要,你们没看懂里面的区别
tulip2108 2003-07-08
  • 打赏
  • 举报
回复
发错地方了,不好意思
tulip2108 2003-07-08
  • 打赏
  • 举报
回复
oracle语法
insert sjtj (sjks,sjjx)
select min(sjbh),max(sjbh) from CXGZ
where substr(sjbh,1,2) in( '11','21', '22' ,'31' ,32')
group by substr(sjbh,1,2)
愉快的登山者 2003-07-08
  • 打赏
  • 举报
回复
insert sjtj (sjks,sjjx)
select min(sjbh),max(sjbh) from CXGZ
where left(sjbh,2) = '11' or left(sjbh,2) = '21' or left(sjbh,2) = '22' or left(sjbh,2) = '31' or left(sjbh,2) = '32'
group by left(sjbh,2)

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧