2017-09-15 38 views
1

我需要建立在SQL Server,它实际上并不存在,而是设置一个SQL查询的结果是“鬼”表。伪代码如下:如何根据其他表在SQL Server中创建“Ghost Table”?

SELECT genTbl_col1, genTblcol2 
FROM genTbl; 

然而,“genTbl”居然是:

SELECT table1.col AS genTbl_col1, 
    table2.col AS genTbl_col2 
FROM table1 INNER JOIN table2 ON (...) 

换句话说,我需要每次查询服务器试图从“genTbl”选择上运行它只是从查询中创建一个结果集,并将其视为一个真正的表。

的情况是,我有一个运行的数据库查询软件。我需要对其进行修改,但我无法更改软件本身,所以我需要欺骗它认为它实际上可以查询“genTbl”,但实际上它不存在,但只是查询其他表。

为了澄清,查询必须是一种程序,默认提供的数据库(即存在于“genTbl”查询每次)。

+0

我想你所谈论的临时表,最简单的方法是:SELECT table1.col AS genTbl_col1, table2.col AS genTbl_col2 INTO #GHOST_TABLE FROM表1 INNER JOIN表2 ON(...) – LONG

+4

我认为你正在寻找对于['view'](https://docs.microsoft.com/en-us/sql/t-sql/statements/create-view-transact-sql) – SqlZim

+0

考查'Views' – pinkfloydx33

回答

0

使用#TMP

SELECT genTbl_col1, genTblcol2 
INTO #TMP FROM genTbl; 

它只存在于当前会话。您也可以使用## TMP进行所有会话。

相关问题