求个sql

ninesea 2010-07-03 05:39:53
A表ID1,NUM
B表ID1,ID2
C表ID2,。。。
A.ID1=B.ID1 B.ID2=C.ID2

现在要更新A表的NUM 值等于B表的ID2的数量

更新单个的话
update A set NUM=(selete count(*) from B,C where B.ID2=C.ID2 and B.ID1=11111)
where A.ID1=11111

更新全部?
update A set NUM=?
from 。。。
where。。。

现在用的sybase版本 from里不给子查询 where后面接group by提示语法错误
...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2010-07-05
  • 打赏
  • 举报
回复
贴记录及要求结果出来看看
ninesea 2010-07-05
  • 打赏
  • 举报
回复
...
lzhq1219 2010-07-05
  • 打赏
  • 举报
回复
这个也简单,在SYBASE里是支持 SELECT INTO #TMP 临时表的。
可以把B,C加工成临时表,再做更行如:
SELECT ID1,COUNT(B.ID2) NUM1 INTO #TMP
FROM B,C
WHERE B.ID2=C.ID2
GROUP BY ID1

UPDATE A SET NUM=D.NUM1
FROM A,#TMP D
WHERE A.ID1=D.ID1

建议如上

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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