0
私はパラメータを追加したいprocを持っています - パラメータは@AmountType
と呼ばれます。私はwhere
句に@AmountType
パラメータを追加したいので、さまざまな金額のタイプをフィルタリングすることができます。面倒なところは、@AmountType
という値を、私が選択したcase文の部分の結果とすることです。
したがって、AmountType1レコードのみを表示するか、AmountType2レコードのみを表示します。where @AmountType = Amounts
は明らかに実行できません。Amounts
は実際の列ではないためです。結果欄をWhere句のSelect Case文から使用
どのようにこれを達成するためのアイデアですか?
これは私の文です:
ALTER PROCEDURE spProc1
@Date datetime
AS
BEGIN
Select
location,
workDate,
case
when dollarAmount1 - dollarAmount2 < 0 Then 'AmountType1'
when dollarAmount1 - dollarAmount2 > 0 Then 'AmountType2'
when dollarAmount1 - dollarAmount2 = 0 Then 'AmountType3'
End As Amounts
From
table1
Where
@Date = workDate
END
サブクエリを使用しました。魅力のように動作します。ありがとう! – SeanFlynn