VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 761|回复: 7

两表数据整合

[复制链接]

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-31 11:20:01 | 显示全部楼层 |阅读模式
if object_id('a') is not null drop table a
go
CREATE TABLE a (
       [teacherid] [varchar] (50)
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] ,
      
)

insert into a(courseinfo,coursename,point,bjjh) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',80.05)  
insert into a(courseinfo,coursename,point,bjjh) values('0002','0101011003_1_1','岩浆学_理论',90.50)
insert into a(courseinfo,coursename,point,bjjh) values('0003','0101011006_1_1','变质岩石学_理论',90.50)
insert into a(courseinfo,coursename,point,bjjh) values('0004','0101011007_1_1','地理信息学_理论',90.50)
go

if object_id('b') is not null drop table a
go
CREATE TABLE b (
       [teacherid] [varchar] (50)
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] ,
      
)

insert into a(courseinfo,coursename,point,bjjh) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',83.05)  
insert into a(courseinfo,coursename,point,bjjh) values('0003','0101011006_1_1','变质岩石学_理论',95.50)
insert into a(courseinfo,coursename,point,bjjh) values('0005','0101011008_1_1','地理信息学_理论',90.50)
go

以上两个表里的数据,想整合到一个表里,a表里有教师及其得分而b表没有的,b表自动按a表增加一条,但是该教师的point项为0分,同样b表有a表没有的等同处理,望高手赐教
回复

使用道具 举报

0

主题

35

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-3-28 20:15:01 | 显示全部楼层
不明白
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-30 05:15:01 | 显示全部楼层
insert into a
select * from b where courseinfo not in(select courseinfo from a)
回复

使用道具 举报

0

主题

40

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-3-31 15:45:01 | 显示全部楼层
lz提供的sql是不是应该修改成:

CREATE TABLE a (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float]
      
)

insert into a(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',80.05)  
insert into a(teacherid,courseinfo,coursename,point) values('0002','0101011003_1_1','岩浆学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0004','0101011007_1_1','地理信息学_理论',90.50)
go

CREATE TABLE b (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float]
      
)
insert into b(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',83.05)  
insert into b(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',95.50)
insert into b(teacherid,courseinfo,coursename,point) values('0005','0101011008_1_1','地理信息学_理论',90.50)
go
回复

使用道具 举报

0

主题

40

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-3-31 20:45:01 | 显示全部楼层
insert into a
select teacherid,courseinfo,coursename,point 0
from b
where teacherid not in(select distinct teacherid from a)

回复

使用道具 举报

0

主题

40

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-4-1 09:00:02 | 显示全部楼层
刚写错了,这样即可
insert into a
select teacherid,courseinfo,coursename,0
from b
where teacherid not in(select distinct teacherid from a)
回复

使用道具 举报

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-7-22 14:00:01 | 显示全部楼层
if object_id('a') is not null drop table a
go
CREATE TABLE a (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] ,
      
)

insert into a(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',80.05)  
insert into a(teacherid,courseinfo,coursename,point) values('0002','0101011003_1_1','岩浆学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0004','0101011007_1_1','地理信息学_理论',90.50)
go

if object_id('b') is not null drop table a
go
CREATE TABLE b (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] ,
      
)

insert into a(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',83.05)  
insert into a(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',95.50)
insert into a(teacherid,courseinfo,coursename,point) values('0005','0101011008_1_1','地理信息学_理论',90.50)
go

生成表的语句是这样,那天写得急,都没来得及验证,实在对不起!
回复

使用道具 举报

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-7-22 15:45:01 | 显示全部楼层
if object_id('a') is not null drop table a
go
CREATE TABLE a (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] ,
      
)

insert into a(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',80.05)  
insert into a(teacherid,courseinfo,coursename,point) values('0002','0101011003_1_1','岩浆学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0004','0101011007_1_1','地理信息学_理论',90.50)
go

if object_id('b') is not null drop table b
go
CREATE TABLE b (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] ,
      
)

insert into b(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',83.05)  
insert into b(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',95.50)
insert into b(teacherid,courseinfo,coursename,point) values('0005','0101011008_1_1','地理信息学_理论',90.50)
go

select * from a
select * from b
----上面这段生成表
---这个答案有眉目,但是还没有完全回答我的问题
insert into a
select teacherid,courseinfo,coursename,0
from b
where teacherid not in(select distinct teacherid from a
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表