Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将表列数据合并到另一个表列数据SQL_Sql_Sql Server_Merge_Union_Ms Access 2013 - Fatal编程技术网

如何将表列数据合并到另一个表列数据SQL

如何将表列数据合并到另一个表列数据SQL,sql,sql-server,merge,union,ms-access-2013,Sql,Sql Server,Merge,Union,Ms Access 2013,我有两个SQL表,每个表都有一列表示名称。。。名字,FName 我希望以编程方式选择表1中的所有名称和表2中的所有名称,并将它们视为都在一个名为Name的列中 到目前为止,我已经做到了,这不是我所期望的 SELECT t1.FName AND t2.Name as Name FROM Table1 t1, Table2 t2 想象一下 在MySQL和SQL Server中: SELECT CONCAT(t1.FName, ' ', t2.Name) AS FullName F

我有两个SQL表,每个表都有一列表示名称。。。名字,FName

我希望以编程方式选择表1中的所有名称和表2中的所有名称,并将它们视为都在一个名为Name的列中

到目前为止,我已经做到了,这不是我所期望的

SELECT
    t1.FName AND t2.Name as Name
FROM 
    Table1 t1, Table2 t2
想象一下


在MySQL和SQL Server中:

SELECT CONCAT(t1.FName, ' ', t2.Name) AS FullName
FROM Table1 t1, Table2 t2
在MS Access中,您将执行以下操作:

SELECT t1.FName & ' ' & t2.Name AS FullName
FROM Table1 t1, Table2 t2
如果希望on字段中包含所有行,则确实需要
GROUP\u CONCAT
函数。但是,Microsoft Access中没有
GROUP\u CONCAT
。您可能需要使用一些VBA来完成此任务。请看:

编辑:

现在你的更新要求完全不同。如果您希望获得上述结果,则以下内容将为您提供该结果,且无任何副本:

SELECT t1.FName AS [Name]
FROM Table1 AS t1
UNION
SELECT t2.Name as [Name]
FROM Table2 AS t2
但是,如果
t1
t2
具有相同的记录,并且您不希望将它们组合在一起,则您需要使用:

SELECT t1.FName AS [Name]
FROM Table1 AS t1
UNION ALL
SELECT t2.Name as [Name]
FROM Table2 AS t2

根据您添加到问题中的图像,您似乎希望从这两个表中获得一列唯一的名称,而不涉及连接。您可以通过
UNION
查询来获得它

SELECT
    t1.Name AS [Name]
FROM 
    Table1 AS t1
UNION
SELECT
    t2.FName as [Name]
FROM 
    Table2 AS t2

根据您正在使用的RDBMS,您可以轻松地使用连接运算符,从而连接两列以选择/显示为一列。Oracle使用
|
,而MySQL和SQL Server允许使用
+
作为连接运算符。您只需
选择t1.fname+''+t2.fname作为名称…
。不幸的是,CONCAT在Access中抛出了一个错误。。。你知道为什么。。。它确实在SQL视图中显示im。我也不想将它们连接到单元格中,我只想将1中的列表和另一个列表连接到一个相同内容的长列表中您上次编辑时进行了连接,但不幸的是,我不希望我的列将“data1 data2”作为行条目。。我只想在一个查看栏中列出所有这些内容的一个长列表请记住,CONCAT只能与SQL Server 2012一起使用,但我不想连接任何内容?我只想在两个表上做一个选择*,然后返回数据,就像它是一列中的一个表一样。欢迎光临,记住
UNION
UNION ALL
可以产生两个不同的结果。叮叮叮,我们赢了。干杯,伙计。。工会,我会记住的:D