2

我正在使用视图,并且不能使用临时表。是否有可能 :

SELECT * FROM table1 UNION SELECT * FROM (SELECT * FROM table 3)

我意识到它不好的编码习惯选择*,我只是用它作为一个例子。任何帮助,将不胜感激!

4

3 回答 3

5

该查询解析为:

(SELECT * FROM table1)
UNION
(SELECT * FROM (SELECT * FROM table 3))

在 SQL Server 中,这将返回缺少别名错误。因此,添加别名:

(SELECT * FROM table1)
UNION
(SELECT * FROM (SELECT * FROM table 3) t)
于 2013-05-30T14:33:57.287 回答
1

是的。

如果有相同的列数..它将起作用

或尝试这些代码

SELECT A.COL1, A.COL2 FROM TABLE1 A 

UNION 

SELECT B.COL1, B.COL2 FROM (SELECT C.COL1, C.COL2 FROM TABLE3)
于 2013-05-30T14:34:35.470 回答
0

I was wondering why you need to wrap it in a subquery, isn't it possible to do it directly<

SELECT * FROM table1
UNION
SELECT * FROM table3
于 2013-05-30T14:57:28.453 回答