2013-08-06 69 views
0

我有兩個表我想比較彼此。比較SQL中的表?

Table1:      Table2: 

col1 col2 col3    col1 col2 
msp msp ...     msp msp 
cin cin ...     cnn cnn 
msp eri ...     cin cin 
cnn cnn ... 
was asc ... 

我想要的結果表看起來像這樣:

Table3 
col1 col2  col3 col4    
msp msp  msp msp    
cin cin  cin cin    
msp eri  null null    
cnn cnn  cnn cnn 
was asc  null null 

我有一個這樣的查詢,但它沒有返回它,我想要的方式。

SELECT DISTINCT Table1.col1, Table1.col2 
FROM TESTDB 
LEFT JOIN 
    Table2 
    ON Table1.col1 = Table2.col1 
    and Table1.col2 = Table2.col2 

這已經返回:

col1 col2  col3 col4    
msp msp  msp msp    
cin cin  cin cin    
msp eri  msp eri    
cnn cnn  cnn cnn 
was asc  was asc 

我覺得有什麼不對我的條件子句。任何幫助?

+0

此查詢有一個where子句嗎? – HLGEM

回答

1

試試這個

SELECT DISTINCT Table1.col1, Table1.col2 ,Table2.col1 as col3 ,Table2.col2 as col4 
    FROM Table1 
    LEFT JOIN 
    Table2 
    ON Table1.col1 = Table2.col1 
    and Table1.col2 = Table2.col2 

DEMO HERE

1

這很難說,因爲你向我們展示了一個不完整的一個(在SELECT只有兩列)有什麼不對您的查詢。如果我想猜,我會說你沒有與別名字段相同的名稱。

這工作:

SELECT DISTINCT t1.col1 col11, t1.col2 col12, t2.col1 col21, t2.col2 col22 
FROM Table1 t1 
LEFT JOIN 
    Table2 t2 
    ON t1.col1 = t2.col1 
    and t2.col2 = t2.col2 

SQL小提琴here