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

三表更新和统计

fcwtr 发布于 2017-03-07 17:10, 1693 次点击
SQL2000

有3个表:
空表AAA: 有字段  IDa    编码   姓名   电话   时间  相同姓名数   相同电话数
  表BBB: 有字段  IDb    编码b                时间b                 
  表CCC :有字段  IDc    编码c  姓名c  电话c
  
表AAA和表BBB:IDa IDb有相同的值,
三表更新和统计
表BBB和表CCC:编码b 编码c有相同有值


一、根据IDa IDb有相同的值  取:表BBB中时间b处于2017-01-01至2017-03-06的值,
更新表AAA中的 编码=编码b;
              姓名=姓名c
              电话=电话c  
              
二、统计相同姓名数   相同电话数
    根据表AAA的 姓名 电话 统计表CCC中姓名c  电话c相同数
2 回复
#2
mywisdom882017-03-08 17:33
--问题一:
update a set a.编码=b.编码b,a.姓名=c.姓名c,a.电话=c.电话c from 表AAA a,表BBB b,表CCC c
where a.IDa=b.IDb and a.IDa=c.IDc and b.时间b >= '2017-01-01' and b.时间b <= '2017-03-06'


二、统计相同姓名数   相同电话数
    根据表AAA的 姓名 电话 统计表CCC中姓名c  电话c相同数

--问题二:

--分2步走,1先查出相同数据
select a.姓名,a.电话,c.姓名c,c.电话c from 表AAA a,表CCC c
where a.姓名=c.姓名c and a.电话=c.电话c

--分2步走,2统计个数
#3
mywisdom882017-03-09 09:22
--问题二:
--分2步走,1先查出相同数据
select a.姓名,a.电话,c.姓名c,c.电话c from 表AAA a,表CCC c
 where a.姓名=c.姓名c and a.电话=c.电话c

--分2步走,2统计个数,并显示出来
select d.姓名,d.电话,count(d.姓名) as 相同
 from (select a.姓名,a.电话,c.姓名c,c.电话c from 表AAA a,表CCC c
       where a.姓名=c.姓名c and a.电话=c.电话c)d
 group by d.姓名,d.电话




1