查詢失敗的原因是,你是重複查詢的SELECT NAME
,所以刪除第二個:
select Name
into #productionprod
from [#purchasing.shipmethod]
union
select Name from [#Production.Productmodel]
你也可以用了兩個子查詢這樣的:
select Name into #productionprod
from (
select Name from [#purchasing.shipmethod]
union
select Name from [#Production.Productmodel]
) subquery
在一個側面說明:如果你是第一個選擇爲[#Production.Productmodel]
和[#purchasing.shipmethod]
的唯一原因是使用這些臨時表是作爲從SELECT ... INTO #productionprod
烏爾斯河那麼你的查詢可以簡化爲這樣:
SELECT Name INTO #productionprod
FROM (
SELECT TOP 5 Name
FROM [Production].[ProductModel] ORDER BY name
UNION
SELECT TOP 5 Name
FROM [Production].[ShipMethod] ORDER BY name
) a
請注意,當您使用TOP n
沒有ORDER BY
作爲documentation陳述的順序是不確定的:
當TOP一起使用使用ORDER BY子句,結果集 限於前N個有序行;否則,它以未定義的順序返回前N個行數。
來源
2014-09-06 15:18:55
jpw