关于全外连接的查询

问题描述

我有两个表并使用完全外连接将它们连接起来。

表 1:

人行横道 工业 姓名
123 ABC

标签 2:

人行横道 工业 姓名
123 ABC
123 bcd
select coalesce(a.crosswalk,b.crosswalk),a.Ind,coalesce(a.name,b.name)
from Tab1 a
full join Tab2 b on a.crosswalk = b.crosswalk and a.name = b.name

我得到的结果

人行横道 工业 姓名
123 ABC
123 bcd

我希望指标字段为如下两行填充 Y。

人行横道 工业 姓名
123 ABC
123 bcd

这是一个示例记录。我有更多记录,Ind 字段应始终填充 Tab1 中的 Ind 值

解决方法

从您的评论看来,您需要显示 Tab1 中的 cross_walk 和 Ind,以及 Tab2 中的 name。

select a.crosswalk,a.Ind,b.name
from Tab1 a  join Tab2 b on a.crosswalk=b.crosswalk

这是数据库小提琴:https://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=0145f950c2bfef3af7b983a229fc387d