SQL Server JOIN 在不存在的两列上



我有

表1:

COLUMN1    COLUMN2   Column3  
----------------------------
Eva           Apple       15
Eva           cat         25
Eva           dog       35
Eva           shoe      45
Bob           Samsung     12
Bob           Samsung     12
Bob           NOKIA       75
...           ...        ...

表 2:

COLUMN1    COLUMN2   Column3
----------------------------
Eva           Apple       45
Eva           cat         98
Eva           dog         7
Eva           shoe        3
Bob           Samsung     1
...           ...        ...

我想选择我连接两个表的位置,因为表1中不存在连接列2和列3

SELECT  * [dbo].[table1]
FROM    
WHERE   NOT EXISTS
(
SELECT  [column2] , [column3]
FROM    [dbo].[table2]
WHERE  table1.column2 = table2.column2  and table1.column3 = table2.column3 
)

我想得到这样的结果:

COLUMN1    COLUMN2   Column3  
----------------------------
Eva           Apple       45
Eva           cat         98
Eva           dog         7
Eva           shoe        3
Bob           Samsung     1
Bob           Samsung     5
Bob           NOKIA       75
...           ...         ...

感谢您的意见以解决此问题

SELECT
table1.column1,
table1.column2,
case 
when table2.column3 is not null 
then table2.column3
else table1.column3
end as column3
FROM
table1
left join table2
on table1.column2 = table2.column2

最新更新