如何在sql server中合并两个表?

时间:2017-03-13 10:39:33

标签: sql sql-server join

我有两张这样的表:

table 1
---------------
ID   Name   Fname
1    N1     FN1
2    N2     FN2
3    N3     FN3

table 2
---------------
TID     Day    Hour   ID
1       30     14     1
2       30     14     2

我希望显示这个结果:

Result Table
---------------
ID   Name   Fname   TID     Day    Hour
1    N1     FN1     1       30     14
2    N2     FN2     2       30     14
3    N3     FN3     ---     ---    ---

注意:Table2中的ID是forgin密钥表格Table1而且我不使用join,因为我无法获得两个表中的所有行。

需要什么sql命令才能显示上表?

非常感谢。

3 个答案:

答案 0 :(得分:1)

使用以下查询检索所需结果:

SELECT 
  Name, 
  FName, 
  (SELECT TID From Table2 WHERE ID=t1.ID) TID, 
  (SELECT [Day] From Table2 WHERE ID=t1.ID) [Day],
  (SELECT [Hour] From Table2 WHERE ID=t1.ID) [Hour]
FROM Table1 t1

答案 1 :(得分:1)

简单的左连接可以正常工作

select 
*
from
table1 t1 
left join
table2 t2 on t1.id=t2.id

答案 2 :(得分:0)

SELECT t1.ID,t1.Name, t1.fname, t2.TID, t2.Day, t2.Hour 
From Table` t1 
LEFT OUTER JOIN Table2 t2 
on t1.ID = t2.ID
相关问题