求1 SQL语句,急,在线等~~~

calfly 2004-07-14 10:09:22

[student]:
stuNo name
1 zhang
2 wang
3 zhang

[score]:
stuNo name score
zhang 90
wang 80
zhang 88

上面两个表,就是要把student中的stuNo填到score中的stuNo,如果有重名的,就保持score.stuNo为空


应该如何写???


...全文
113 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzymagi 2004-07-14
  • 打赏
  • 举报
回复
楼主,不好意思。我没加group by .不过你能想到的吧!呵呵
calfly 2004-07-14
  • 打赏
  • 举报
回复
问题解决,多谢多谢!!!

UPDATE _cou
SET id =
(SELECT id
FROM _stu
WHERE _stu.name = _cou.name)
WHERE ((SELECT COUNT(*)
FROM _stu
WHERE _stu.name = _cou.name) = 1)
calfly 2004-07-14
  • 打赏
  • 举报
回复
to lzymagi(lzy_xy) : select name,count(*) from score where having count(*)>1

这个出错,不能这样查
chinaandys 2004-07-14
  • 打赏
  • 举报
回复
能不能把表说详细一些吗
calfly 2004-07-14
  • 打赏
  • 举报
回复

to liupingsk(往事随风.......) :重名的怎么办?

to skyboy0720(飞) ( ) :比如说student表中有两个zhang

to lidengdeng(lidengdeng) ( ) :数据量只有几千条

to lzymagi(lzy_xy) :马上试试看
lidengdeng 2004-07-14
  • 打赏
  • 举报
回复
假如记录有上万条,这样效率不高吧?
skyboy0720 2004-07-14
  • 打赏
  • 举报
回复
如果有重名?是指什么?你给的数据,没看出来!
lzymagi 2004-07-14
  • 打赏
  • 举报
回复
试试

update a set a.stuno=b.stuno from score a,student b where a.name not in (select name,count(*) from score where having count(*)>1)
liupingsk 2004-07-14
  • 打赏
  • 举报
回复
update score
set score.stuno=
(
select student.stuno
from student
where student.name=score.name
)

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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