如何将多个表作为一个表读取

时间:2018-09-25 19:40:54

标签: sql sql-server

在将旧的VB程序转换为.NET程序时,项目经理决定我们需要为旧的(vb)数据和新的(.NET)数据使用单独的表。

这有点让人困惑。为了使.net版本向后兼容,我们需要.NET版本才能从.Net表和旧的VB表中读取。

有什么方法可以让我的sql语句从两个表中读取并将它们视为单个表?

示例:

VB表:

Johan Bach

路德维希·贝多芬

.NET表:

沃尔夫冈·莫扎特

约翰内斯·勃拉姆斯

SQL会将其拉出:

Johan Bach

路德维希·贝多芬

沃尔夫冈·莫扎特

约翰内斯·勃拉姆斯

2 个答案:

答案 0 :(得分:5)

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

尝试一下,它应该可以满足您的需求。我不知道您的属性名称,只需相应地替换它们即可。

答案 1 :(得分:4)

我想您正在寻找UNION或UNION ALL。

您的老板在分开桌子上是错误的。您应该将它们全部放在一个表下,并在其自己的列中具有旧版属性,例如,在VB中为“ V”,在.Net中为“ N”。

对于两个表,您有两组标识列,它们将相互竞争,并且除非使用视图执行UNION,否则大多数查询都将过于复杂,这将使您想知道为什么不拥有全部视图在一张桌子上。