mssql sqlserver 请问两张表,求两列值合计,要怎么求?


摘要:
“请问两张表,求两列值合计,要怎么求?”,今天在网络傲游时,突然收到小伙伴的这个疑问,下文将通过具体的例子讲述”两表两列之和”的计算方法,分享给大家,如下所示:
实验环境: sqlserver 2008 R2



实现思路:
使用连接对两个数据表进行连接,然后将两列的值进行相加,如果数据类型为非数值类型,我们需先将其它类型转换为数值类型进行相加计算。

  create table [maomao365A]
(sortA varchar(30),qtyA  int)
 go

create table [maomao365B]
(sortB varchar(30),qtyB  int)
 go
 ----生成基础数据
 insert into [maomao365A]
 (sortA,qtyA)values('sqlBlog',2),
 ('sql爱好者',3),('mssql',4),
 ('B',5)
 go
 insert into [maomao365B]
 (sortB,qtyB)values('mysqlBlog',20),
 ('mysql爱好者',30),('mysql',40),
 ('B',50)
 go
 
 ---两列计算,自由笛卡尔积计算
 
 select *,a.QtyA+b.QtyB from maomao365A a,maomao365B  b order by a.sortA asc 
 go
  
 ---两表两列计算,无连接条件
 select *,a.QtyA+b.QtyB from maomao365A a 
  left join 
 maomao365B  b  on 1=1 
 go
 
 ---两表两列计算,带连接条件
 select *,a.QtyA+b.QtyB from maomao365A a 
  left join 
 maomao365B  b  on a.sortA = b.sortB
 go
 
 
 go
 truncate table [maomao365A] 
 drop table [maomao365A] 
 truncate table [maomao365B] 
 drop table [maomao365B]