获取SQL中不匹配的行

问题描述 投票:0回答:1

我们有两个 SQL 表

table_1table_2

现在,我们必须以这样的方式合并这两个表,即 table_1 seq_number 不存在于 table_2 中,与 tp_no = 0 进行映射,如下所示。

output_table

我们必须在 SQL 表中创建它,以便进一步使用它。

我正在尝试通过以下方式实现这一目标:

select distinct tar.c_Id,brd.Toucpoint,brd.sequence_number,tar.tot_Id,tar.tp_no
from table_2 tar 
inner join (
     select distinct c_Id,channel,sequence_number
     from table_1
) brd on tar.c_Id = brd.c_Id and tar.tp_no <> brd.sequence_number
where tar.tp_no = '0';

但这并没有给出所需的输出。

sql join
1个回答
0
投票

通常使用

Right
left
连接完成此类操作,具体取决于数据库引擎

SELECT t1.*, t2.*
FROM Table_1 t1 right join Table_2 t2 on t1.camp_1 = t2.camp_1 And t2.tp_no = 0
Where t1.camp_1 is null

任何进一步的修剪都可以通过

group by

完成
© www.soinside.com 2019 - 2024. All rights reserved.