Я хотел бы преобразовать этот пример MS Access динамического запроса в T-SQL:Преобразование MS Access динамического столбца в SQL Server
SELECT
Name,
iif(expression='A', value, 0) as vA,
iif(expression='B', value, 0) as vB,
vA-vB as diff
FROM
MyTable
Я попробовал этот код, но компилятор бросить меня, что новые динамические столбцы vA и vB в выражении vA-vB as diff
не распознаются.
SELECT
Name,
CASE WHEN expression = 'A' then value else 0 end AS vA,
CASE WHEN expression = 'B' then value else 0 end AS vB,
vA-vB as diff
FROM
MyTable
определяются ваши псевдонимы, когда строка завершает обработку. поэтому они недоступны в контексте «чтения» в другом месте в той же строке. –