1

これら 2 つの SQL ステートメントを 1 つの SQL コマンドで実行したいと考えています。ヘルプ :)

ステートメント #1:

SELECT SUM(nrofitems) as totItems 
FROM tblSets 
WHERE moduleexamID = 20

ステートメント #2:

SELECT TOP (cast(totItems as int)) questions
FROM tblQuestions 
WHERE moduleexamID = 20 
ORDER BY NEWID()
4

3 に答える 3

0

ROW_NUMBER()を使用するだけです。

このようなもの:

SELECT * FROM
(
SELECT tblQuestions.*,
       ROW_NUMBER() OVER (ORDER BY NEWID()) as RN
FROM tblQuestions 
WHERE moduleexamID = 20 
) as T1
WHERE RN<=
        ISNULL(
        (SELECT SUM(nrofitems) as totItems 
                FROM tblSets 
                WHERE moduleexamID = 20
        ),0);
于 2013-10-30T08:07:14.793 に答える