【发布时间】:2013-04-10 13:46:37
【问题描述】:
我不能使用公用表表达式:
WITH cte
AS (SELECT [StationID],
[LastDistribution]
FROM [DB1].[dbo].[ProcessingStations]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB2].[dbo].[ProcessingStations]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB3].[dbo].[ProcessingStations]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB4].[dbo].[ProcessingStations]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB5].[dbo].[ProcessingStations]
ORDER BY [StationID]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB6].[dbo].[ProcessingStations]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB7].[dbo].[ProcessingStations]
UNION ALL
SELECT [StationID],
[LastDistribution]
FROM [DB8].[dbo].[ProcessingStations])
SELECT *
FROM cte
ORDER BY StationID
我该怎么做呢?
【问题讨论】:
-
记录如何排序?
-
联合中所有表中从最低站号到最高站号。
-
把
ORDER BY放在最后。例如:SELECT ... UNION SELECT ... UNION SELECT ... ORDER BY ...
标签: sql sql-server sql-server-2008 sql-order-by common-table-expression