首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一关于两个临时表合龙的sql语句

2012-10-18 
求一关于两个临时表合并的sql语句,现有两个临时表,表一: (时间)time(课程总数)lesson表二:(时间)time(注册

求一关于两个临时表合并的sql语句,
现有两个临时表,
表一: (时间)time (课程总数)lesson
表二:(时间)time (注册人数)register
都是两列,共同的列是:时间(time),
现在打算把两个表合并,保留共同的列time,生成一个新的临时表单。
共有三列: time , lesson , register.
例如: 表一
time lesson
2012-08-16 2
2012-09-02 8

  表二
time register
2012-08-27 4
2012-08-28 3

合并后的表:
time lesson register
2012-08-16 2 
2012-08-27 4
2012-08-28 3
2012-09-02 8

谢谢所有达人的帮助,在线等

[解决办法]

SQL code
CREATE TABLE #T1(    [TIME]    DATE,    lesson  int   )CREATE TABLE #T2(    [TIME]    DATE,    register  INT)INSERT INTO #T1          ( TIME, lesson )SELECT '2012-08-16',2 UNION ALLSELECT '2012-09-02',8 INSERT INTO #T2        ( TIME, register )SELECT '2012-08-27',4 UNION ALLSELECT '2012-08-28',3SELECT  CASE WHEN A.[TIME] IS NULL THEN B.[TIME] ELSE A.[TIME] END  AS [TIME],        A.lesson,B.registerFROM    #T1 AFULL JOIN #T2 B ON A.TIME = B.TIMEORDER BY [Time]DROP TABLE #T1,#T2
[解决办法]
select t0.time,t1.lesson ,t2.register 
from (select time from 表一 union select time from 表二) t0
left join 表一 t1 on t0.time=t1.time
left join 表二 t2 on t0.time =t2.time
order by t0.time
[解决办法]
select time,lesson, null as register from table1
union all
select time, null as lesson, register from table2
[解决办法]
SQL code
-->测试数据CREATE TABLE #T1(    time    datetime,    lesson  int   )CREATE TABLE #T2(    time   datetime,    register  INT)INSERT INTO #T1          ( time, lesson )SELECT '2012-08-16',2 UNION ALLSELECT '2012-09-02',8 INSERT INTO #T2        ( time, register )SELECT '2012-08-27',4 UNION ALLSELECT '2012-08-28',3-->测试查询select time,lesson, null as register from #T1union allselect time, null as lesson, register from #T2-------------------------------------------------/*  time                   lesson  register2012-08-16 00:00:00.000      2    NULL2012-09-02 00:00:00.000      8    NULL2012-08-27 00:00:00.000     NULL    42012-08-28 00:00:00.000     NULL    3*/ 

热点排行