0

这是我的问题:我有一个组合框,它的来源必须是两个表的联合。一张表是本地的AllUsers,它只有一条记录:

    +------------+----------+
    |IndexKey    | UserName |
    +----------- +----------+
    | -1         |  ALL     |
    +-----------------------+

第二个是从 MS SQL Server 链接的dbo_NGAC_USERINFO,我只得到两个字段:

    +-----------+----------+
    |IndexKey   | Name     |
    +-----------+----------+
    | 1         |  Tedo    |
    +-----------+----------+
    | 2         |  Tornike |
    +-----------+----------+
    | 4         |  John    |
    +----------------------+

所以,我想得到这些表的联合结果,它看起来像这样:

    +-----------+----------+
    |-1         |  ALL     |
    +-----------+----------+
    | 1         |  Tedo    |
    +-----------+----------+
    | 2         |  Tornike |
    +-----------+----------+
    | 4         |  John    |
    +----------------------+

但我的问题是:如果我编写联合查询,它会显示空白值IndexKey和正确值Name。但是如果我只为查询中的第一个或第二个表编写选择,它会显示正确的结果。这是我的代码,显示不正确的结果:

SELECT *
FROM AllUsers 
UNION ALL 
SELECT dbo_NGAC_USERINFO.IndexKey, dbo_NGAC_USERINFO.Name 
FROM dbo_NGAC_USERINFO 

我尝试过AllUsers手动写入 Table 中的值,使用Union而不是写入Union All,最后移动第一个表,第一个移动第二个,排序,创建子查询,为字段名创建别名,但我所有的尝试都没有成功。任何帮助将不胜感激,在此先感谢。

4

1 回答 1

0

尝试更具体:

SELECT AllUsers.IndexKey, AllUsers.Name 
FROM AllUsers 
UNION ALL 
SELECT dbo_NGAC_USERINFO.IndexKey, dbo_NGAC_USERINFO.Name 
FROM dbo_NGAC_USERINFO 
于 2016-12-11T14:15:36.193 回答