【发布时间】:2016-12-11 10:03:45
【问题描述】:
这是我的问题:
我有一个组合框,它的来源必须是两个表的联合。
一张表是本地的AllUsers,它只有一条记录:
+------------+----------+
|IndexKey | UserName |
+----------- +----------+
| -1 | ALL |
+-----------------------+
第二个是从 MS SQL Serverdbo_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 表写入值,用Union 而不是Union All 写入,最后移动第一个表,第一个移动第二个,排序,创建子查询,为字段名制作别名,但我所有的尝试都没有成功。
任何帮助将不胜感激,在此先感谢。
【问题讨论】:
标签: sql sql-server ms-access sql-server-2012 ms-access-2016