| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2319 人关注过本帖
标题:需要将4个表TTA、TTB 、TTC、TTD日期介于(2016-10-1)至(2016-10-15)的记 ...
只看楼主 加入收藏
fcwtr
Rank: 1
等 级:新手上路
帖 子:24
专家分:7
注 册:2016-7-8
结帖率:30%
收藏
 问题点数:0 回复次数:1 
需要将4个表TTA、TTB 、TTC、TTD日期介于(2016-10-1)至(2016-10-15)的记录更新到一个新建的表中
SQL2000系统:
表A:字段有AA1、AA2、AA3、TTA
表B:字段有BB1、BB2、BB3、TTB
表C:字段有CC1、CC2、CC3、TTC
表D:字段有DD1、DD2、DD3、TTD
需要将上述4个表TTA、TTB 、TTC、TTD日期介于(2016-10-1)至(2016-10-15)的记录更新到一个新建的表中
搜索更多相关主题的帖子: 记录 新建 
2016-10-15 17:01
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
--建立测试数据
create table #表A(AA1 INT,AA2 INT,AA3 INT,TTA datetime)
create table #表B(BB1 INT,BB2 INT,BB3 INT,TTB datetime)
create table #表C(CC1 INT,CC2 INT,CC3 INT,TTC datetime)
create table #表D(DD1 INT,DD2 INT,DD3 INT,TTD datetime)

insert into #表a
select 1,1,1,'2016-09-9' union all
select 1,1,1,'2016-09-29' union all
select 1,1,1,'2016-10-1' union all
select 1,1,1,'2016-10-12' union all
select 1,1,1,'2016-10-16'

insert into #表b select AA1+1,AA2+1,AA3+1,TTA+1 from #表a
insert into #表c select AA1+2,AA2+2,AA3+2,TTA+2 from #表a
insert into #表d select AA1+3,AA2+3,AA3+3,TTA+3 from #表a

--日期介于(2016-10-1)至(2016-10-15)的记录更新到新建
--1、新表已经存在时,先模拟建立表E
create table #表E(EE0 INT,EE1 INT,EE2 INT,EE3 INT,TTE datetime) --新表字段个数和位置和其它表不同
--更新到新表E
insert into #表E(EE1,EE2,EE3,TTE) --如果新表E的结构和其它表相同,就不要()里面的
select * from #表a where tta >='2016-10-01' and tta <='2016-10-15' union all
select * from #表b where ttb >='2016-10-01' and ttb <='2016-10-15' union all
select * from #表c where ttc >='2016-10-01' and ttc <='2016-10-15' union all
select * from #表d where ttd >='2016-10-01' and ttd <='2016-10-15'

select * from #表E
DROP TABLE #表E
GO

--2、新表不存在时
select AA1 AS EE1,AA2 AS EE2,AA3 AS EE3,TTA AS TTE into #表E from #表A where tta >='2016-10-01' and tta <='2016-10-15' union all
select * from #表b where ttb >='2016-10-01' and ttb <='2016-10-15' union all
select * from #表c where ttc >='2016-10-01' and ttc <='2016-10-15' union all
select * from #表d where ttd >='2016-10-01' and ttd <='2016-10-15'
--查看数据,并删除
select * from #表E

GO
DROP TABLE #表A
DROP TABLE #表B
DROP TABLE #表C
DROP TABLE #表D
DROP TABLE #表E



[此贴子已经被作者于2016-10-16 09:06编辑过]

2016-10-16 09:05
快速回复:需要将4个表TTA、TTB 、TTC、TTD日期介于(2016-10-1)至(2016-10-15 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021947 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved