1 ~ 5、6 ~ 9 などの数量範囲と別の列の価格を持つ列があるテーブルがあります。すなわち
価格 数量 ------------------------ 価格数量範囲 ----- ---------- 45 1-5 35 6-9 30 10-18
ここで、数量が 7 のテーブルから結果を取得したいので、返される価格は 35 である必要があります (数量 7 は 6 ~ 9 の範囲にあるため)
どんな助けでも大いに感謝します
1 ~ 5、6 ~ 9 などの数量範囲と別の列の価格を持つ列があるテーブルがあります。すなわち
価格 数量 ------------------------ 価格数量範囲 ----- ---------- 45 1-5 35 6-9 30 10-18
ここで、数量が 7 のテーブルから結果を取得したいので、返される価格は 35 である必要があります (数量 7 は 6 ~ 9 の範囲にあるため)
どんな助けでも大いに感謝します
これを試して :-
Declare @val int
Set @val=7
;with cte(price,startVal,endVal) as
( Select price,
parsename(replace([Qty Range],'-','.'),2),
parsename(replace([Qty Range],'-','.'),1)
from yourTable
)
Select Price from cte
where @val between startVal and endVal
結果 :35
SQL FIDDLEでのデモ