join3表,不相等的行和列不匹配

时间:2017-06-27 08:34:13

标签: sql

我有三个表,我需要从中创建一个表。表1和表2具有共同的列,即col1,它是id。表1的col1等于表2的col1,我们需要获取输出表的数据,并将col9添加到输出表中的每一行。

表1

col1 col2 col3 col4 
a12  abc  usa  dol
b12  def  In   inr
c12  ghi  Uk   gbp

表2

col1 col5 col6
a12  586  svc
b12  596  swf
c12  600  chl
d12  897  svc
e12  912  swf

表3

col7 col8    clo9
1.1  21/6/17  test1

输出表

col1 col2 col3 col4 col6 col7 col9
a12  abc  usa  dol  586  svc  test1
b12  def  In   inr  596  swf  test1
c12  ghi  Uk   gbp  600  chl  test1

1 个答案:

答案 0 :(得分:0)

根据你的表使用CROSS APPLY我们可以实现:

;WITH CTE AS (
select T.col1, col2, col3, col4,TT.col1 As TTcol, col5, col6 from Table1 T
INNER JOIN Table2 TT
On T.col1 = TT.col1 )

Select * from  CTE 
CROSS APPLY
        (
        SELECT   m.col9
        FROM    Table3 m

        ) q