Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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 - Fatal编程技术网

Sql 如何将多个表作为单个表读取

Sql 如何将多个表作为单个表读取,sql,sql-server,Sql,Sql Server,在将旧的VB程序转换为.NET程序时,项目经理决定我们需要为旧的VB数据和新的.NET数据创建一个单独的表 这就是让人困惑的地方。为了使.net版本向后兼容,我们需要从.net表和旧的VB表中读取.net版本 是否有某种方法可以让我的sql语句从两个表中读取,并将它们视为一个表 例如: VB表格: 约翰·巴赫 路德维希·贝多芬 .NET表格: 沃尔夫冈·莫扎特 约翰内斯·布拉姆斯 SELECT FullName FROM .NETtable UNION SELECT FullName FROM

在将旧的VB程序转换为.NET程序时,项目经理决定我们需要为旧的VB数据和新的.NET数据创建一个单独的表

这就是让人困惑的地方。为了使.net版本向后兼容,我们需要从.net表和旧的VB表中读取.net版本

是否有某种方法可以让我的sql语句从两个表中读取,并将它们视为一个表

例如:

VB表格:

约翰·巴赫

路德维希·贝多芬

.NET表格:

沃尔夫冈·莫扎特

约翰内斯·布拉姆斯

SELECT FullName FROM .NETtable
UNION
SELECT FullName FROM VBtable
ORDER BY FullName;
SQL将拉取以下内容:

约翰·巴赫

路德维希·贝多芬

沃尔夫冈·莫扎特

约翰内斯·布拉姆斯

SELECT FullName FROM .NETtable
UNION
SELECT FullName FROM VBtable
ORDER BY FullName;

试试这个,它可以满足你的需要。我不知道你的属性名称,只需相应地替换它们即可

我想你要找的是工会或工会所有人

你的老板把桌子分开是错误的。您应该将其全部放在一个表下,并且在其自己的列中有一个遗留属性,例如VB中的V和.Net中的N


对于两个表,您有两组标识列,它们将相互竞争,并且大多数查询将过于复杂,除非您使用视图执行联合,这会让您想知道为什么不将所有内容都放在一个表中。

您可以使用一个视图,该视图对.Net程序使用的两个表进行并集。上例中的每个名称表示表中的一行。您可以在两个表的顶部创建一个视图,例如并集。你可以从中阅读,甚至用insert代替insert。在您想要删除此行为的时候,您可以简单地更改视图或重命名表,而不影响代码。此时最好使用联合查询。可能实现为一个视图。我想我正在使用TSQL。我会很快去查工会的。有一张桌子绝对是更好的选择。最有可能与只返回用于VB程序的行的视图一起使用。请注意,UNION将更慢,并删除真正的重复项,而UNION ALL不会。这取决于需要什么样的数据。