根据日期在两个SQL表之间显示行

时间:2014-10-09 18:45:59

标签: sql

我正在开发一个程序,显示来自一个表(t1)的指定电子邮件地址的所有行,按日期排序。我有另一个表(t2),具有相同的电子邮件地址,但具有不同的数据和更少的行。我想显示来自t1的所述电子邮件地址的所有信息,按日期排序,并包括来自t2的行。我想在t1的行之间显示t2之间的行,按日期排序。

两个表格中的日期会因用户而异,因此我无法设定实际日期。

编辑: 来自t1 -

的两个示例行
10/8/2014       email@email.com
10/10/2014      email@email.com


来自t2的行 -

10/9/2014

预期结果 -

10/8/2014      email@email.com
reward 10/9/2014
10/10/2014     email@email.com

1 个答案:

答案 0 :(得分:0)

create table t1(dt datetime2(3) null, email varchar(20));
create table t2(dt2 datetime2(3) null);

insert into t1 values ('08-04-2014','email@email.com');

insert into t1 values ('10-04-2014','email2@email.com');

insert into t2 values ('09-04-2014');



 select t1.dt as dt_col,t1.email from t1
union all
select t2.dt2,'reward' from t2
order by dt_col 

dt_col  email
2014-08-04 00:00:00.000 email@email.com
2014-09-04 00:00:00.000 reward
2014-10-04 00:00:00.000 email2@email.com