2017-07-25 6 views

答えて

1
@offset INT, 
@fetch INT 

WITH CTE1 
AS 
(SELECT TOP 100 PERCENT col1 AS col FROM tab1 
UNION 
SELECT TOP 100 PERCENT col1 FROM tab2 
ORDER BY col OFFSET @offset ROWS FETCH NEXT @fetch ROWS ONLY) 

SELECT * FROM CTE1 
UNION 
SELECT TOP 1 col1 FROM tab3 
ORDER BY NEWID() 
2

使用派生テーブル

Select col from 
(
SELECT col1 AS col FROM tab1 
UNION 
SELECT col1 FROM tab2 
ORDER BY col OFFSET @offset ROWS FETCH NEXT @fetch ROWS ONLY 
) a 
UNION 
SELECT TOP 1 col1 FROM tab3 
ORDER BY NEWID() 

注:あなたが結果に重複を除去するために見ていない場合あなたはUNION ALLUNIONを置き換えることができます。

関連する問題