どうすれば使えますか
ORDER BY
CASE @AccountOperator
WHEN '>' THEN AccountTrxValue
END ASC,
CASE @AccountOperator
WHEN '<' THEN AccountTrxValue
END DESC
AccountTrxValueがエイリアスであり、「選択」で次の結果が得られた場合はどうなりますか?
CASE WHEN PAA.RedeemValue>0 THEN
PAA.RedeemValue * -1
ELSE PAA.EarnValue END
AS AccountTrxValue ,
ケースのためにエイリアスを受け入れません
(サブクエリを使用せずに)
編集:
誰かが私に答えて、私はそれをそのようにした:
ORDER BY
CASE
WHEN @AccountOperator IS NULL OR @AccountOperator IN ('>','=') THEN
CASE WHEN PAA.RedeemValue>0 THEN
PAA.RedeemValue * -1
ELSE PAA.EarnValue END
END DESC,
CASE
WHEN @AccountOperator = '<'THEN
CASE WHEN PAA.RedeemValue>0 THEN
PAA.RedeemValue * -1
ELSE PAA.EarnValue END
END
どうすればもっと短い方法で書くことができますか?*「in」にnullを含めることができませんでした*「end」の後に「desc」を書き込む必要があるようであるため、2つのケースを実行する必要がありました