1

共通テーブル式を使用できません:

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

どうすればこれを行うことができますか?

4

3 に答える 3

0

fiddleを参照してくださいORDER BY。最後のセットに「結合」するだけです。CTE のオーバーヘッドなしで同じ結果が得られます。

この順序は、統合されたセット全体に影響します。

SELECT
        [StationID],
        [LastDistribution]
    FROM 
        [dbo].[ProcessingStations]
UNION ALL
SELECT
        [StationID],
        [LastDistribution]
    FROM 
        [dbo].[ProcessingStations]
UNION ALL
SELECT
        [StationID],
        [LastDistribution]
    FROM 
        [dbo].[ProcessingStations]
    ORDER BY
        [StationID]
于 2013-04-10T14:02:27.090 に答える