Sql 左连接获取不匹配的记录
我正在两个表之间执行左联接。假设两个表都有id、name和sal等列,我需要获得匹配的记录和不匹配的记录。jon的钥匙在这里。对于不匹配的记录,sal列应替换为每行90000、90001、90002等。因此,在执行连接操作之后,我将能够通过sal列识别不匹配的记录。有人能帮我解答这个问题吗? 谢谢Sql 左连接获取不匹配的记录,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在两个表之间执行左联接。假设两个表都有id、name和sal等列,我需要获得匹配的记录和不匹配的记录。jon的钥匙在这里。对于不匹配的记录,sal列应替换为每行90000、90001、90002等。因此,在执行连接操作之后,我将能够通过sal列识别不匹配的记录。有人能帮我解答这个问题吗? 谢谢 请向我们展示您迄今为止所做的工作您尝试了哪些?这是一个非常简单的左连接。也许你正在为奇怪的更换要求而挣扎? select ta.id,ta.name, coalesce(tb.sal, (row
请向我们展示您迄今为止所做的工作您尝试了哪些?这是一个非常简单的左连接。也许你正在为奇怪的更换要求而挣扎?
select ta.id,ta.name,
coalesce(tb.sal,
(row_number() over
(partition by tb.sal order by tb.id)) + 89999) sal
from ta left join tb on ta.id = tb.id
select
ta.id,
ta.name,
ISNULL(tb.sal, ROW_NUMBER() over (partition by tb.sal order by ta.id) + 89999)
from table_a ta
left join table_b tb ON tb.id = ta.id
order by ta.id