如何修改这条SQL语句?

softheaded 2006-09-08 05:22:20
update yy_clap set qs_xs=y.qshj
from yy_clap x,(
select yyhm,sum(qs) as qshj from yy_ryye a
where rq>x.rq_hy
group by yyhm
) as y
where x.yyhm=y.yyhm
提示有错误。列前缀 'x' 与查询中所用的表名或别名不匹配。
我的想法是将yy_ryye中的qs合计赋值给yy_clap,条件是yy_ryye中的rq大于yy_clap中的rq_hy,请教该如何写呢?
...全文
220 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zicxc 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap
set
qs_xs=(select
sum(qs)
from
yy_ryye
where
yyhm=yy_clap.yyhm
and
rq>yy_clap.rq_hy)
where exists (
select 1 from yy_ryye
where
yyhm=yy_clap.yyhm
and
rq>yy_clap.rq_hy
)

好像这样稳妥点,否则没有的更新为null了
quanyi 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap set qs_xs=y.qshj
from (select yyhm,sum(qs) as qshj from yy_ryye a
where rq>yy_clap.rq_hy
group by yyhm
) as y
where yy_clap.yyhm=y.yyhm
csdnweii 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap set qs_xs=y.qshj
from yy_clap x,(
select yyhm,sum(qs) as qshj from yy_ryye a,yy_clap b
where a.rq>b.rq_hy
group by yyhm
) as y
where x.yyhm=y.yyhm
子陌红尘 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap
set
qs_xs=(select
sum(qs)
from
yy_ryye
where
yyhm=yy_clap.yyhm
and
rq>yy_clap.rq_hy)
chuifengde 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap set qs_xs=(select sum(qs) from yy_ryye
where rq>yy_clap.rq_hy and yyhm=yy_clap.yyhm
group by yyhm)
子陌红尘 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap set qs_xs=(select sum(qs) from yy_ryye where yyhm=yy_clap.yyhm and rq>yy_clap.rq_hy)
iamltd 2006-09-08
  • 打赏
  • 举报
回复
update yy_clap set qs_xs=y.qshj
from (select yyhm,sum(qs) as qshj from yy_ryye a
where rq>yy_clap.rq_hy
group by yyhm
) as y
where yy_clap.yyhm=y.yyhm

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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