我有两张桌子,我想彼此比较。
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
我认为我的条件条款ON有问题。有什么帮助吗?
答案 0 :(得分: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
答案 1 :(得分: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。