Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 左连接获取不匹配的记录_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 左连接获取不匹配的记录

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

我正在两个表之间执行左联接。假设两个表都有id、name和sal等列,我需要获得匹配的记录和不匹配的记录。jon的钥匙在这里。对于不匹配的记录,sal列应替换为每行90000、90001、90002等。因此,在执行连接操作之后,我将能够通过sal列识别不匹配的记录。有人能帮我解答这个问题吗? 谢谢

请向我们展示您迄今为止所做的工作您尝试了哪些?这是一个非常简单的左连接。也许你正在为奇怪的更换要求而挣扎?
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