【发布时间】:2015-02-24 05:33:57
【问题描述】:
SELECT
"dbo"."ClaimDataFormat"."AGE",
"dbo"."ClaimDataFormat"."RELATION",
"dbo"."ClaimDataFormat"."NAME",
"dbo"."ClaimDataFormat"."ENTRY_DATE",
"dbo"."ClaimDataFormat"."CLAIM_AMT",
CASE
WHEN "dbo"."ClaimDataFormat"."Gender" = 'F'
THEN 'FEMALE'
ELSE 'MALE'
END AS GENDER,
"dbo"."ClaimDataFormat"."STATUS",
"dbo"."ClaimDataFormat"."APPROVED_AMT"
FROM
"dbo"."ClaimDataFormat"
WHERE "dbo"."ClaimDataFormat"."AGE" = CASE
WHEN ${TimeGran} = '0-10'
THEN 0
WHEN ${TimeGran} = '0-10'
THEN 1
WHEN ${TimeGran} = '0-10'
THEN 2
WHEN ${TimeGran} = '0-10'
THEN 3
WHEN ${TimeGran} = '0-10'
THEN 4
WHEN ${TimeGran} = '0-10'
THEN 5
WHEN ${TimeGran} = '0-10'
THEN 6
WHEN ${TimeGran} = '0-10'
THEN 7
WHEN ${TimeGran} = '0-10'
THEN 8
WHEN ${TimeGran} = '0-10'
THEN 9
WHEN ${TimeGran} = '0-10'
THEN 10
WHEN ${TimeGran} = '11-20'
THEN 11
WHEN ${TimeGran} = '11-20'
THEN 12
WHEN ${TimeGran} = '11-20'
THEN 13
WHEN ${TimeGran} = '11-20'
THEN 14
WHEN ${TimeGran} = '11-20'
THEN 15
WHEN ${TimeGran} = '11-20'
THEN 16
WHEN ${TimeGran} = '11-20'
THEN 17
WHEN ${TimeGran} = '11-20'
THEN 18
WHEN ${TimeGran} = '11-20'
THEN 19
WHEN ${TimeGran} = '11-20'
THEN 20
ELSE 21
END
如果年龄范围是 0-10,则必须反映 0 到 10 之间的所有值
【问题讨论】:
-
你到底在问什么?
-
是否有任何错误?
-
请不要展示你是如何尝试的,也不要展示你想要实现的目标。添加一些具有预期输出的示例数据,这将有助于我们了解您想要什么。
-
不,我的代码没有给我任何错误,但同时我也没有得到我想要的结果............实际上我想要当我选择 0-10 我的结果集应该是 0 到 10 岁之间的所有年龄......我现在说清楚了吗?
标签: sql sql-server case multiple-columns where-clause