需要使用多个匹配项连接sql表,如果值不匹配,则应返回空/na值

kmynzznz  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(307)

我想以这样一种方式连接下面的表,即它应该返回匹配的值,如果不匹配,它应该返回一个值作为 "NA" . 下表是详细信息
可用表:

期望输出:

5jdjgkvh

5jdjgkvh1#

使用 Left Join 在表之间,要考虑表中不存在的行 Process table。
你可以用 Ifnull() 函数,设置值 NA 如果没有匹配行(因此 null 值) Process table。
尝试以下操作(相应地更改表和列名):

SELECT r.Ticket_id, 
       r.Status,
       r.Department, 
       r.Owner, 
       r.Process_id, 
       IFNULL(p.Proces_Name, 'NA')
FROM Resolution AS r 
LEFT JOIN Process AS p ON p.Process_id = r.Process_id
wkftcu5l

wkftcu5l2#

select a.ticket_id,a.status,a.department,a.ownername,
case
when b.process_name is null then 'NA'
else b.process_name
end as proces_name
from resolution_tab a
left join process_tab b
on a.process_id=b.process_id
order by a.ticket_id;
knsnq2tg

knsnq2tg3#

如果在mysql中找不到值 LEFT JOIN ,字段“填充”为 NULL 据我所知,你的问题是ifnull

SELECT
 r.*,
 IFNULL(process_name,'NA')
FROM
resolution r
LEFT JOIN processes p ON p.process_id = r.process_id

相关问题