SELECT
ft.nBranchId
,ft.tmDate
,(SET @column =
CASE WHEN ft.fDeposits < 0 THEN 'fDeposits' END
CASE WHEN ft.fWithdrawals > 0 THEN 'fWithdrawals' END
CASE WHEN ft.fPerformanceFee > 0 THEN 'fPerformanceFee' END
CASE WHEN ft.fFixedFee > 0 THEN 'fFixedFee' END
CASE WHEN ft.fDividend > 0 THEN 'fDividend' END
CASE WHEN ft.fReinvestment < 0 THEN 'fReinvestment' END
CASE WHEN ft.fThresholdRate < 0 THEN 'fThresholdRate' END
CASE WHEN ft.fPerfFeeCumulated > 0 THEN 'fPerfFeeCumulated' END
) AS 'Wrong sign in column ' + @column
FROM dbo.FundTransactions AS ft
Почему это не работает? Я получаю синтаксическую ошибку, и я не вижу ее. Я хочу построить выбранный столбец в зависимости от условий.Заданная переменная внутри отборочного оператора
Msg 156, Level 15, State 1, Line 8
Неправильный синтаксис около ключевого слова 'SET'.Msg 156, Level 15, State 1, Line 10
Неверный синтаксис рядом с ключевым словом «CASE».
Это добрые дела, за исключением того, что я получаю «No column name» – MrProgram
Вы можете указать псевдоним этого столбца. Я обновил результат. –