首页 > 解决方案 > 当表包含不同的列名但数据类型相同时,如何对表执行联合?

问题描述

当表包含不同的列名但数据类型相同时,如何对两个表执行联合。表 1(id、名称、位置)和表 2(id、名称、地址)。这里位置(varchar)和地址(varchar)。

我尝试了以下方法,但是当我运行查询时它返回如下:

查询

SELECT id, name, location, null as address FROM T1
union
SELECT id, name, address, null as location FROM T2;

**output** :

    ID  NAME    LOCATION    ADDRESS
1   1   AA        NED        NULL
2   2   BB        AUB        NULL
3   2   BB        MUN        NULL
4   3   CC        PUNE       NULL

但我需要如下输出:

    ID  NAME    LOCATION    ADDRESS
1   1   AA        NED        NULL
2   2   BB        AUB        NULL
3   2   BB        NULL       MUN
4   3   CC        NULL       PUNE

标签: oracle

解决方案


我的看法:

SELECT id, name, location, null as address FROM T1
union
SELECT id, name, null as location, address FROM T2;

推荐阅读