注册 登录
编程论坛 SQL Server论坛

SQL2000.统计重复条数

fcwtr 发布于 2018-06-26 09:17, 1864 次点击
有2个表:
1、AAA
有字段:A代码、A姓名、A电话、A日期、A次数、A等字段

2、BBB
有字段:B代码、B姓名、B电话、B日期

要求:
1、先清空表AAA
2、将表BBB中,时间大于2018-01-01记录,B代码、B姓名、B电话、B日期字段插入到表AAA中,
3、统计表BBB中时间小于2017-12-31记录,
    B姓名或B电话同表AAA的A姓名、A电话有重复的值统计重复条数,
    统计结果更新到表AAA.A次数中
1 回复
#2
mywisdom882018-06-27 17:57
1.清空表AAA
-- 方法一
delete from 表AAA  --生成日志
-- 方法二
truncate table 表AAA  --不生成日志

2.将表BBB的数据复制到表AAA去
insert into 表AAA(A代码,A姓名,A电话,A日期,A次数)
select B代码,B姓名,B电话,B日期,0 from 表BBB where B日期 >='2018-01-01'

3.统计表BBB中,小于2017-12-31的记录次数,更新到表AAA去
-- 统计
select B姓名,B电话,count(1) as 次数 from 表BBB where B日期 <='2017-12-31' group by B姓名,B电话
-- 更新
update a set a.a次数=b.次数 from 表aaa a
left join (select B姓名,B电话,count(1) as 次数 from 表BBB where B日期 <='2017-12-31' group by B姓名,B电话)b
on a.A姓名=b.B姓名 and a.A电话=b.B电话)
1