关于SQL语句的问题

2025-12-06 18:36:36
推荐回答(5个)
回答1:

1对多的关联。

就是用多的结果集update一条数据

--补充
这得看你的需求了。
比如
select zaiwang from kkkkk where kkkkk.haoma=lzhu.haoma
出来的是:1,2,3,4.。。。
你想把那条更新进去,这是关键

你可以取最大值做update
update lzhu set zaiwang = (select max(zaiwang) from kkkkk where kkkkk.haoma=lzhu.haoma)
最小值做update
update lzhu set zaiwang = (select min(zaiwang) from kkkkk where kkkkk.haoma=lzhu.haoma)
求和做update
update lzhu set zaiwang = (select sum(zaiwang) from kkkkk where kkkkk.haoma=lzhu.haoma)

删除是个很麻烦的事情,除非记录少手工删
要用sql删免补了要取哪条(最大、最小、求和等等)明确这些
sql才能出来

回答2:

等同于count(*)
,就是分组的记录总数
------
count(1)的那个1意思就是用一个长值字段1来表示存在一条记录
用哪个数字都可以,这样写在字段很多的情况下能更快

回答3:

update lzhu set zaiwang = (select distinct zaiwang from kkkkk where kkkkk.haoma=lzhu.haoma)
如果你的haoma和zaiwang 是1对1关系的话 这样应该可以

--在1对多的情况 据我了解是不能更新的
应该选中其中1条
至于怎么选择就看你自己的需求了

回答4:

这样写下试试:
update lzhu set zaiwang = (select top 1 zaiwang from kkkkk where kkkkk.haoma=lzhu.haoma)

回答5:

update lzhu set zaiwang in (select zaiwang from kkkkk where kkkkk.haoma=lzhu.haoma)