Sql 将不同的表与相同的列合并,不带歧义

Sql 将不同的表与相同的列合并,不带歧义,sql,oracle,Sql,Oracle,我有疑问。我有三张桌子 table A ---------------------------- NAME | CODE ---------------------------- bob | PL david | AA susan | PL joe | AB table B ---------------------------- CODE | DESCRIPTION ----------

我有疑问。我有三张桌子

table A 
    ----------------------------
    NAME   | CODE
    ----------------------------
    bob    | PL
    david  | AA
    susan  | PL
    joe    | AB


table B 
    ----------------------------
    CODE | DESCRIPTION
    ----------------------------
    PL   | code 1
    PB   | code 2 
    PC   | code 3

table C 
    ----------------------------
    CODE | DESCRIPTION
    ----------------------------
    AA   | code 4
    AB   | code 5 
    AC   | code 6
表B和C有唯一的行。 我需要的结果是:

    ----------------------------
    NAME   | CODE | DESCRIPTION
    ----------------------------
    bob    | PL   | code 1
    david  | AA   | code 4
    susan  | PL   | code 1
    joe    | AB   | code 5
到目前为止我都试过了


你很接近了。我想您只需要
COALESCE()


我认为工会会做到这一点。此外,如果存在重复项,它还将删除重复项

SELECT  A.NAME , UN.CODE ,UN.DESCRIPTION 
FROM A,
     (SELECT CODE,DESCRIPTION FROM B 
      UNION 
     SELECT CODE,DESCRIPTION FROM C ) UN 
WHERE A.CODE = UN.CODE;

请张贴代码以及谢谢。我在考虑使用“联合”。我想使用“coalesce”更优雅。
SELECT  A.NAME , UN.CODE ,UN.DESCRIPTION 
FROM A,
     (SELECT CODE,DESCRIPTION FROM B 
      UNION 
     SELECT CODE,DESCRIPTION FROM C ) UN 
WHERE A.CODE = UN.CODE;