這裏是我的返回數據是如何構成一個簡單的例子:使用CASE語句重新分配價值 - T-SQL
id | cat id | value | reverse
1 | 1 | 5 | false
2 | 1 | 5 | false
3 | 2 | 2 | true
4 | 2 | 1 | false
5 | 1 | 3 | true
在下面的SQL語句,我試圖讓每個value
類型計數由value
分組組成。如果reverse
列爲真,則需要反轉比例。因此,規模將是:
5 = 1
4 = 2
3 = 3
2 = 4
1 = 5
我嘗試下面的SQL語句,但它似乎並沒有被施加反規模計,它只是忽略了反轉標記一起:
select value, count(
case reverse
WHEN false THEN
CASE value
WHEN '5' THEN '1'
WHEN '4' THEN '2'
WHEN '3' THEN '3'
WHEN '2' THEN '4'
WHEN '1' THEN '5'
END
ELSE value
END
)
from table1
group by value
我做錯了什麼?如何應用反向邏輯將反向問題值計數到正確的值?
是不是一個整數值? – 2013-03-12 20:05:23
這是一個varchar,但我可以投到整數 – 2013-03-12 20:32:57