我有类似以下情况的情况
Select x, y, z
from mytable
where x = 1
UNION
Select x, y, z
from mytable2
where x = 1
我想将结果放入#TempTable,然后将结果的数据透视表放入#TempTable2
我尝试过
SELECT * INTO #TempTable FROM (
Select x, y, z
from mytable
where x = 1
UNION
Select x, y, z
from mytable2
where x = 1
)
但是它在')'附近得到不正确的语法 我忘记了我所做的所有其他变化,但没有一个起作用
答案 0 :(得分:1)
向派生表添加别名。这里我用X是因为我很有想像力
SELECT *
INTO #TempTable
FROM
(
Select x, y, z
from mytable
where x = 1
UNION
Select x, y, z
from mytable2
where x = 1
) AS X
SQL Server在FROM子句中需要对象的引用。没有别名=没有参考
如果我们使用CTE重写查询,您会看到此信息
WITH myUnion AS
(
Select x, y, z
from mytable
where x = 1
UNION
Select x, y, z
from mytable2
where x = 1
)
SELECT *
INTO #TempTable
FROM myUnion