Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从2个不均匀的表构建组合表_Sql_Sql Server 2005 - Fatal编程技术网

Sql 从2个不均匀的表构建组合表

Sql 从2个不均匀的表构建组合表,sql,sql-server-2005,Sql,Sql Server 2005,我有两个不均匀的表,我正试图将它们构建到一个表中,每个表都有一个日期和ID要连接,问题是有时一个表在第二个表中可能有没有匹配日期的行 最初,表2似乎总是有一个表1的条目,所以我在做一个左连接,这是有效的,但后来我发现问题是,右表有一个条目,用于某些日期,但表1没有匹配的日期,即19和20,我在日期和ID上连接 我是否需要构建一个包含所有日期的表?一个选项是如下所示使用完全外部联接,并在表1或表2中不存在记录时使用用例语句填充值,如下所示 select case when a.date is

我有两个不均匀的表,我正试图将它们构建到一个表中,每个表都有一个日期和ID要连接,问题是有时一个表在第二个表中可能有没有匹配日期的行

最初,表2似乎总是有一个表1的条目,所以我在做一个左连接,这是有效的,但后来我发现问题是,右表有一个条目,用于某些日期,但表1没有匹配的日期,即19和20,我在日期和ID上连接


我是否需要构建一个包含所有日期的表?

一个选项是如下所示使用完全外部联接,并在表1或表2中不存在记录时使用用例语句填充值,如下所示

select case when a.date is not null then 
                 a.date
            else b.date
        end as date
        ,case when a.id is not null then 
                   a.id
              else b.id
          end as id
       ,case when a.name is not null then 
                   a.name
              else b.[full name]
          end as name 
        ,a.[Time Logged In]
        ,b.vol
  from table1 a
full outer join table2 b
     on a.date=b.date
    and a.id=b.id 

你需要一个完整的外部连接来从两个表中获取数据。这看起来很好,我提供了简化的表,两个表中每个都有大约10个列,有没有更简单的方法来包含所有列,从两个表中都有?很好,我只是个白痴,我只是按照正常的a.col1,b.col1等包含其余的列