日期:2014-05-16  浏览次数:20507 次

SQL三张中求两个字段数据并集的问题
如有三张表A,B,C

A表

    ID               Start                     End
  李四               1                            2
  李四               3                            5


B表

    ID               Start                     End
  李四               1                            5

C表
    ID               Start                     End
  李四               5                          7
  李四               8                          9


能否得到
    ID               Start                     End
  李四               1                           7
  李四               8                           9



------解决方案--------------------

create table A表(ID varchar(10),Start int,[End] int)
create table B表(ID varchar(10),Start int,[End] int)
create table C表(ID varchar(10),Start int,[End] int)

insert into A表  
 select '李四',1,2 union all
 select '李四',2,5
  
insert into B表  
 select '李四',1,5
 
insert into C表  
 select '李四',5,7 union all
 select '李四',8,9


-- 计算过程
select * into #t
from
(select * from A表
 union all
 select * f