select 客戶名稱,客戶ID,iif(注冊資金 >= 800,'5',iif(注冊資金 < 800 and 注冊資金 >= 600,'4',iif(注冊資金 < 600 and 注冊資金>= 400,'3',iif(注冊資金<400 and 注冊資金 >= 200,'2','1')))) as 注冊資金評分
from 客戶基本資訊
uj5u.com熱心網友回復:
select 客戶名稱,客戶ID,iif(客戶基本資訊.注冊資金 >= 800,'5',iif(客戶基本資訊.注冊資金 < 800 and 客戶基本資訊.注冊資金 >= 600,'4',iif(客戶基本資訊.注冊資金 < 600 and 客戶基本資訊.注冊資金>= 400,'3',iif(客戶基本資訊.注冊資金<400 and 客戶基本資訊.注冊資金 >= 200,'2','1')))) AS 注冊資金評分 from 客戶基本資訊"
1.SQL不支持iff陳述句,要把它換為case when ……then
如:case
when 注冊資金 >= 800 then 5
when 注冊資金 < 800 and 注冊資金 >= 600 then 4
…… AS 注冊資金評分
2.IFF是access資料庫里的函式
uj5u.com熱心網友回復:
因為分組比較有規律,可以歸納出等級通式法簡化陳述句
select 客戶名稱,客戶ID,case when (floor(注冊資金/200)+1<=5) then floor(注冊資金/200)+1 else 5 end as 注冊資金評分 from 客戶基本資訊
uj5u.com熱心網友回復:
資料庫沒有IIF陳述句,你可以試試用WHERE以及CASE陳述句,
舉一個例子,
在學生成績表中,查詢每個學生的期末平均分(不統計不及格的成績;若某生全部不及格,依然列出)
SELECT
SS.StudentNo
,CONVERT(DECIMAL(3,1),AVG(SS.FinalScore)) AS FinalScoreAverage
FROM
tb_StudentScore AS SS
WHERE
SS.FinalScore>=60
uj5u.com熱心網友回復:
這樣均等步進的值很容易得到:
SELECT 客戶名稱, 客戶ID, (注冊資金 + 200) \ 200 AS 注冊資金評分 FROM 客戶基本資訊