Sql Server合并查询

最近一个项目中,需要实现多个数据表联合查询,其中,一个基本表的主键字段与其他表相关联,除此之外的表结构相同,并且,表的数量不唯一(按表名按月生成),下面就说一说我的存储过程实现方法。

基本表Base

 ID  Name

1   N1

2   N2

3   N3

数据表1Data1

ID  Data 

1  10

2  12

数据表2Data2

ID  Data 

3  9

2  11

需要实现的结构为

Name  Data

1    10

2    11

2    12

3    9

 

同时使用union all 和left join

先每个数据表和基本表join,再实现union all

sql语句为

select Base.Name,Data1.Data
from Data1

left join Base on ( Base.ID=Data1.ID ) 

UNION ALL

select Base.Name,Data2.Data
from Data2

left join Base on ( Base.ID=Data2.ID ) 

 

 

posted @ 2017-11-21 11:28  老铁你好  阅读(687)  评论(0编辑  收藏  举报