sql查询的问题

lm9764 2002-05-19 12:04:04
我有个access数据库,我想把其中某些列中数据重复的的记录筛选掉。例如说:
一个名字为:student的表 中间有4列:学号,姓名,地址,电话
我想把学号和姓名重复的数据筛选掉。
我用的sql语句是:
select distinct 学号,姓名
into student1
from student
但是生成的新表中只有学号和姓名两项
用 select distinct *
into student1
from student

也不行因为student 表中有学号,姓名相同,但地址或电话不同的
我又给表中加了一列:属性(值为:1/0初值=0)
我用 update student
set 属性=1
where not exists(select distinct 学号,姓名 from student )
也不行

我都快给烦死了,请哪位高手帮帮忙
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm9764 2002-05-19
  • 打赏
  • 举报
回复
你说的不行吧!我把学号设为主键,还有姓名重复的如何办,我的要求是:
姓名与学号重复,两个都必须满足呀!
lm9764 2002-05-19
  • 打赏
  • 举报
回复
你好呀!扬帆破浪!我试过你的语句了,可以。我在想问你一下,student 表只是
我我为了方便提问句的一个例子,实际的表中列很多,但也是把两项重复的合掉
那在SQL语句中除了重复的两列外,别的列是不是都要加min了
coffee_cn 2002-05-19
  • 打赏
  • 举报
回复
这个语句确实很难写,我试了一会还是没有成功,
不过换一个方法可以实现,不知道你愿不愿意使用,
三步即可实现,1、复制表结构,(复制,粘贴,)到temp表中
2、修改temp表中,学号字段,改为“主键”
3、复制表(将数据追加到已有表),填写temp表
这个时候会提示丢失部分数据,实际上丢失的就是一部分重复的数据

good luck!
Yang_ 2002-05-19
  • 打赏
  • 举报
回复
select 学号,姓名,min(地址) as 地址,min(电话) as 电话
into student1
from student
group by 学号,姓名

34,590

社区成员

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

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