2017-06-27 36 views
0

私は1つのテーブルを作成する必要がある3つのテーブルがあります。表1と表2は共通の列を持ち、col1はidです。表1のcol1が表2のcol1に等しい場合、出力表のデータをフェッチし、出力表の各行にcol9を追加する必要があります。不一致の行と列が一致しないjoin3テーブル

表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 
+0

問題を解決するためにこれまでに試したこともありますか? –

+0

@shubhaあなたのクエリにこのスクリプトを統合します – mohan111

+0

@Giorgos、私はテーブル1とテーブル2の内部結合を試みましたが、共通の列と不等な行がないのでテーブル3に参加できません。私はテーブル3からcol9に加入しようとしましたが、動作しません。 – shubha

答えて

0

あなたのテーブルに基づいて、CROSSが適用されます。

;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 
+0

ありがとうございました。 – shubha

+0

@shubhaあなたがそれをupvoteすることができれば助けたら – mohan111