如何进行左连接并为 matched/unmatched 条记录创建指标?
How to do left join and create an indicator for matched/unmatched records?
我想创建一个带有指示符的左连接,以便在选择数据时,对于匹配的记录,我可以放置一个指示符 1,对于不匹配的记录,我可以放置一个指示符 0?
这是在T-SQL
SELECT *, CASE WHEN Table2.Id IS NULL THEN 0 ELSE 1 END as Match
FROM Table1 LEFT OUTER JOIN Table2
ON Table1.Id = Table2.Table1Id
在 SELECT
中使用 CASE
语句来检查您加入的列是否在右侧列 IS NULL
.
例如,要列出所有员工及其经理,以及指示他们是否有经理的布尔标志,请使用:
select
e.first_name,
e.last_name,
case
when m.employee_id is not null then 1
else 0
end as has_manager
m.first_name as manager_first_name,
m.last_name as manager_last_name
from employee e
left outer join manager m on m.employee_id = e.manager_id;
我想创建一个带有指示符的左连接,以便在选择数据时,对于匹配的记录,我可以放置一个指示符 1,对于不匹配的记录,我可以放置一个指示符 0?
这是在T-SQL
SELECT *, CASE WHEN Table2.Id IS NULL THEN 0 ELSE 1 END as Match
FROM Table1 LEFT OUTER JOIN Table2
ON Table1.Id = Table2.Table1Id
在 SELECT
中使用 CASE
语句来检查您加入的列是否在右侧列 IS NULL
.
例如,要列出所有员工及其经理,以及指示他们是否有经理的布尔标志,请使用:
select
e.first_name,
e.last_name,
case
when m.employee_id is not null then 1
else 0
end as has_manager
m.first_name as manager_first_name,
m.last_name as manager_last_name
from employee e
left outer join manager m on m.employee_id = e.manager_id;