Есть ли возможность сделать что-то вроде select из select - вложенной временной таблицы результатов вместо исходной таблицы, используемой в функции, а не в процедуре?
Это прекрасно работает:
SELECT ID, PAR1, PAR2 INTO tempTABLE
FROM originalTABLE
WHERE ..CONDITIONS..
SELECT TOP 1 (tbl1.PAR2 + tbl2.PAR2 + tbl3.PAR2) AS FinalResult
FROM tempTable tbl1
INNER JOIN tempTable tbl2 on tbl2.PAR1 > tbl1.PAR1
INNER JOIN tempTable tbl3 on tbl3.PAR1 > tbl2.PAR1
ORDER BY tbl1.PAR2 + tbl2.PAR2 + tbl3.PAR2
DROP TABLE tempTable
Но я не могу использовать его в функции из-за оператора INSERT, поэтому я пытаюсь так:
SELECT (tbl1.PAR2 + tbl2.PAR2 + tbl3.PAR2) AS FinalResult
FROM ((SELECT ID, PAR1, PAR2 FROM originalTABLE
WHERE ..CONDITIONS.) AS tempTable) tbl1
INNER JOIN tempTable tbl2 on tbl2.PAR1 > tbl1.PAR1
INNER JOIN tempTable tbl3 on tbl3.PAR1 > tbl2.PAR1
ORDER BY tbl1.PAR2 + tbl2.PAR2 + tbl3.PAR2
Ноэто не удалось.