1

我有两个字段,tblIT.Person_Name 和 tblEng.Full_Name。我想创建一个新列,其中包含第一个表中的所有名称并将它们添加到第二列并将其全部放入一个主列

Person_name
-------------
John Smith  |
-------------
Gary Porter |

Full_name
-------------
Gary Porter |
-------------
Nancy Becker|

我正在寻找这个:

People
-------------
Gary Porter |
-------------
Nancy Becker|
-------------
John Smith  |

它不是连接,很多人一直告诉我,它只是连接两个表。

4

2 回答 2

2

创建 2 个表的 UNION。这将清除重复值。

SELECT Person_name AS People FROM tblIT
UNION
SELECT Full_Name FROM tblEng

如果您想要两个表中的所有行,包括重复行,您将使用 UNION ALL。但看起来你不想重复。

结果集将不可编辑。

如果要将它们存储在另一个表的列中,可以插入 UNION 查询的结果。UNION 关键字可能会导致简单的 INSERT 语句出现语法错误,因此请将 UNION 作为子查询包含在 INSERT 中。

INSERT INTO YourTable (People)
SELECT sub.People
FROM
    (
        SELECT Person_name AS People FROM tblIT
        UNION
        SELECT Full_Name FROM tblEng
    ) AS sub
于 2012-10-05T16:14:21.557 回答
0

使用UNION没有 ALL,因为它会允许重复)合并所有结果。

SELECT col1 FROM Person_name
UNION
SELECT col1 FROM Full_name

它结合了结果,而不是加入结果:)

于 2012-10-05T16:12:17.593 回答