繁体   English   中英

查询以映射SQL中另一个表中的列的值

[英]Query to map value of a column in another table in sql

我有一个表empbu_source 现在emp表是这样的

mail_id            first_name    pos      bu_name
sreekom@abc.xom    sreekom       abc      land_bu
sreekom@abc.xom    sreekom       abc      land_bu
simth @thought.com  smith        xyz      MEZC 

bu_source该表对bu_name进行分组。 例如,land_bu,aev_bu将归入电力公司,BEZC和MEZC将归入股权投资。 所以表的结构是这样的:

 source_bu_name result_bu_name 
    land_bu        power corporation
    aev_bu         power corporation
    BEZC           Equity ventures
    MEZC           Equity ventures

我想要一个查询结果如下:

mail_id            first_name    pos      bu_name result_bu_name 
sreekom@abc.xom    sreekom       abc      land_bu  power corporation
simth @thought.com  smith        xyz      MEZC      Equity ventures

我创建了一个查询

SELECT 
mail_id             ,
First_Name      ,
pos      ,
Source_Bu_Name      , -- bu name 
result_bu_name 
From Emp
left join bu_source on Emp.BU_NAME = bu_source.SOURCE_BU_NAME;

但是,尽管该表具有值,但是bu_name的空白列很少。

您需要将其更改为

SELECT 
    e.mail_id             
    ,e.first_name      
    ,e.pos      
    ,e.bu_name       --bs.source_bu_name
    ,bs.result_bu_name  
FROM 
    Emp e
LEFT JOIN 
    bu_source bs
ON 
    e.bu_name = bs.source_bu_name;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM